1
想取得今天(即当天)生日的联系人的信息。以下是我的计划。 上个月我测试的时候它正常工作,但现在它不返回正确的数据。今天有生日的联系人
Uri uri = ContactsContract.Data.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Event.CONTACT_ID,
ContactsContract.Contacts._ID,
ContactsContract.Contacts.STARRED,
ContactsContract.Contacts.TIMES_CONTACTED,
ContactsContract.CommonDataKinds.Event.START_DATE };
Calendar cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DATE);
String date = "'%-" + (month > 8 ? month : "0" + (month + 1)) + "-"
+ (day > 9 ? day : "0" + day) + "'";
String where = ContactsContract.Data.MIMETYPE + "= ? AND "
+ ContactsContract.CommonDataKinds.Event.TYPE + " IN ("
+ ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY
+ ") AND "
+ ContactsContract.CommonDataKinds.Event.START_DATE + " LIKE "
+ date;
String[] selectionArgs = new String[] { ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE };
String sortOrder = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME;
Cursor c=mContext.getContentResolver().query(uri, projection, where,
selectionArgs, sortOrder);
我的光标c为空。有人能指出我在逻辑中犯的错误吗?
谢谢。
尝试调试和检查每个'argument'你逝去的 – Gattsu 2014-10-07 14:09:57
个月的价值来了9 – 2014-10-07 17:37:47