Android手机联系人确实有唯一标识符,称为联系人ID。可以使用以下代码来获取联系人ID:
private String getContactID(ContentResolver cr, String number) {
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
String[] projection = { ContactsContract.PhoneLookup._ID };
String contactID = null;
Cursor cursor = cr.query(uri, projection, null, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
contactID = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup._ID));
}
cursor.close();
}
return contactID;
}
该方法接收一个ContentResolver对象和一个电话号码作为参数,然后使用PhoneLookup.CONTENT_FILTER_URI来查询联系人,该值将电话号码附加到查询URI中。查询返回一个Cursor对象,该对象包含联系人ID,使用该ID可以找到特定联系人的所有其他信息。