0
描述hereAndroid手机查找(PhoneLookup.CONTENT_FILTER_URI)返回相同的接触多次
Uri lookupUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(givenNumber));
final Account availableAccounts[] = AccountManager.get(context).getAccountsByType(Constants.ACCOUNT_TYPE);
Uri rawContactUri = ContactsContract.RawContacts.CONTENT_URI;
Cursor phoneContact = context.getContentResolver().query(
lookupUri
, null //new String[]{ContactsContract.PhoneLookup._ID, ContactsContract.PhoneLookup.DISPLAY_NAME}
,null,null, null);
DatabaseUtils.dumpCursor(phoneContact);
while (phoneContact.moveToNext()) {
long contactID = phoneContact.getLong(phoneContact.getColumnIndex(ContactsContract.PhoneLookup._ID));
}
phoneContact.close();
的投影设置为null用于调试我找了使用电话号码的联系人。 我收到相同的接触多次,如可以通过DatabaseUtils.dumpCursor(phoneContact);
的结果可以看出:
>>>>> Dumping cursor [email protected]
0 {
number=+00001122334
photo_uri=content://com.android.contacts/display_photo/6
send_to_voicemail=0
lookup=32i415560988b4aed0e.32i636352790bf3a3a6.3789r869-2D4531433931.3746i15
display_name=John Doe
last_time_contacted=1425383680707
has_phone_number=1
in_visible_group=1
photo_file_id=6
label=null
starred=0
normalized_number=+00001122334
photo_thumb_uri=content://com.android.contacts/contacts/212/photo
photo_id=1427
in_default_directory=1
custom_ringtone=null
_id=212
type=2
times_contacted=44
}
1 {
number=0001122334
photo_uri=content://com.android.contacts/display_photo/6
send_to_voicemail=0
lookup=32i415560988b4aed0e.32i636352790bf3a3a6.3789r869-2D4531433931.3746i15
display_name=John Doe
last_time_contacted=1425383680707
has_phone_number=1
in_visible_group=1
photo_file_id=6
label=null
starred=0
normalized_number=+27001122334
photo_thumb_uri=content://com.android.contacts/contacts/212/photo
photo_id=1427
in_default_directory=1
custom_ringtone=null
_id=212
type=2
times_contacted=44
}
2 {
number=0001122334
photo_uri=content://com.android.contacts/display_photo/6
send_to_voicemail=0
lookup=32i415560988b4aed0e.32i636352790bf3a3a6.3789r869-2D4531433931.3746i15
display_name=John Doe
last_time_contacted=1425383680707
has_phone_number=1
in_visible_group=1
photo_file_id=6
label=null
starred=0
normalized_number=+27001122334
photo_thumb_uri=content://com.android.contacts/contacts/212/photo
photo_id=1427
in_default_directory=1
custom_ringtone=null
_id=212
type=2
times_contacted=44
}
<<<<<
注:我已经取代隐私的原因的电话号码。联系人之间的唯一区别在于第一个联系人具有国际格式的号码(+00),而其他联系人则采用本地格式。
如果有人可以请说出这种行为,我的问题与我的相同,但较少的细节是here,但它也没有答案。类似的问题包括没有检查mime_types的人,因为example
谢谢。