温馨提示: 某些OEM会提供自己的联系人提供商(不是标准的Android提供商),并且 可能
未遵循标准的Android惯例。例如,com.android.providers.contacts.HtcContactsProvider2响应我的HTC
Desire HD上的查询
这是一种方法:
// method to get name, contact id, and birthdayprivate Cursor getContactsBirthdays() { Uri uri = ContactsContract.Data.CONTENT_URI; String[] projection = new String[] { ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Event.CONTACT_ID, ContactsContract.CommonDataKinds.Event.START_DATE }; String where = ContactsContract.Data.MIMETYPE + "= ? AND " + ContactsContract.CommonDataKinds.Event.TYPE + "=" + ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY; String[] selectionArgs = new String[] { ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE }; String sortOrder = null; return managedQuery(uri, projection, where, selectionArgs, sortOrder);}// iterate through all Contact's Birthdays and print in logCursor cursor = getContactsBirthdays();int bDayColumn = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Event.START_DATE);while (cursor.moveTonext()) { String bDay = cursor.getString(bDayColumn); Log.d(TAG, "Birthday: " + bDay);}如果这不起作用,则您可能具有OEM修改的联系人提供程序。



