我正在使用下面的代码来检索事件和联系人的游标,它对于指定年份的事件工作得很好.遗憾的是,此查询不会返回仅设置日期和月份的事件.
我已经在Google Contacts中设置了一些联系生日的日期,我想知道我是否需要使用RawContacts而不是ContactsContract来获取这些值?
更新:似乎检索到没有一年进入手机的事件.仅通过http://www.google.com/contacts添加的事件未被检索.我可以在“联系人”应用中看到这些事件 – 显示为类似于-05-23.
String[] projection = new String[] { ContactsContract.Contacts._ID,ContactsContract.Contacts.DISPLAY_NAME,Event.CONTACT_ID,Event.START_DATE,Event.TYPE }; Cursor c = mContext.getContentResolver().query( ContactsContract.Data.CONTENT_URI,projection,ContactsContract.Data.MIMETYPE + "= ?",new String[] { Event.CONTENT_ITEM_TYPE },Event.START_DATE); c.moveToFirst(); int nameIndex = c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); int dateIndex = c.getColumnIndex(Event.START_DATE); String name,date; while (c.moveToNext()) { name = c.getString(nameIndex); date = c.getString(dateIndex); Log.d(TAG,"Event for " + name + " is " + date); } c.close();
解决方法
我正在运行Nexus S(2.3.4)并且我使用了您的确切代码,我打印出所有联系人,包括没有年份的联系人.
07-19 17:08:36.847: DEBUG/test(24646): Event for Warren Upton is --12-01 07-19 17:08:36.851: DEBUG/test(24646): Event for Marion Atkins is 1934-11-24
您能否提供有关如何重现问题的更多详细信息?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。