4
我正在开发一个android应用程序,我需要将每个联系人的生日与当前日期进行匹配,如果积极,则处理一些业务逻辑,需要完整的联系人详细信息。Android应用程序 - 如何获取联系人的生日
我已经找到了分别读取联系人或联系人的生日的方法,但是对于如何将两者结合起来感到困惑。有人可以提供一些方向。
谢谢
我正在开发一个android应用程序,我需要将每个联系人的生日与当前日期进行匹配,如果积极,则处理一些业务逻辑,需要完整的联系人详细信息。Android应用程序 - 如何获取联系人的生日
我已经找到了分别读取联系人或联系人的生日的方法,但是对于如何将两者结合起来感到困惑。有人可以提供一些方向。
谢谢
找到了一些在网络上看后的答案。这需要做的方式是:接触
以下是代码片段:
ContentResolver cr = getContentResolver(); //getContnetResolver()
String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME };
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, projection, null, null,
ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
while (cur.moveToNext()) {
Map<String, String> contactInfoMap = new HashMap<String, String>();
String contactId = cur.getString(cur.getColumnIndex(ContactsContract.Data._ID));
String displayName = cur.getString(cur.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
String columns[] = {
ContactsContract.CommonDataKinds.Event.START_DATE,
ContactsContract.CommonDataKinds.Event.TYPE,
ContactsContract.CommonDataKinds.Event.MIMETYPE,
};
String where = Event.TYPE + "=" + Event.TYPE_BIRTHDAY +
" and " + Event.MIMETYPE + " = '" + Event.CONTENT_ITEM_TYPE + "' and " + ContactsContract.Data.CONTACT_ID + " = " + contactId;
String[] selectionArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME;
Cursor birthdayCur = cr.query(ContactsContract.Data.CONTENT_URI, columns, where, selectionArgs, sortOrder);
if (birthdayCur.getCount() > 0) {
while (birthdayCur.moveToNext()) {
String birthday = birthdayCur.getString(birthdayCur.getColumnIndex(ContactsContract.CommonDataKinds.Event.START_DATE));
}
}
birthdayCur.close();
}
cur.close();