我正在使用下面的代码来检索事件和联系人的游标,它对于指定年份的事件工作得很好.遗憾的是,此查询不会返回仅设置日期和月份的事件.
我已经在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();