从ContactsProvider检索上次编辑的联系人可以通过以下步骤实现:
<uses-permission android:name="android.permission.READ_CONTACTS" />
// 定义要查询的字段
String[] projection = {ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.CONTACT_LAST_UPDATED_TIMESTAMP};
// 执行查询
Cursor cursor = getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI,
projection,
null,
null,
ContactsContract.Contacts.CONTACT_LAST_UPDATED_TIMESTAMP + " DESC"
);
// 遍历结果集
if (cursor != null && cursor.moveToFirst()) {
do {
// 获取联系人ID、姓名和上次编辑时间戳
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
long lastUpdatedTimestamp = cursor.getLong(cursor.getColumnIndex(ContactsContract.Contacts.CONTACT_LAST_UPDATED_TIMESTAMP));
// 在这里处理获取到的联系人信息
// ...
} while (cursor.moveToNext());
}
// 关闭游标
if (cursor != null) {
cursor.close();
}
在上述代码中,我们使用了ContactsContract.Contacts.CONTENT_URI来指定要查询的联系人数据表,使用projection参数指定要返回的字段,使用ContactsContract.Contacts.CONTACT_LAST_UPDATED_TIMESTAMP + " DESC"来按照上次编辑时间的降序排列结果。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云