ContactsContract.PhoneLookup
발신자 ID에 대한 예를 들어, 전화 번호를 찾는 결과를 나타내는 테이블을 사용해보십시오. 조회를 수행하려면 찾으려는 번호를 CONTENT_FILTER_URI에 추가해야합니다. 이 쿼리는 고도로 최적화되어 있습니다.
PhoneLookup._ID
은 당신이 찾고있는 무엇
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME,...
.
또한 this post에서 제공하는 솔루션을 시도 할 수 있습니다 : 안드로이드의 Contacts
에서
public static int getContactIDFromNumber(String contactNumber,Context context)
{
contactNumber = Uri.encode(contactNumber);
int phoneContactID = new Random().nextInt();
Cursor contactLookupCursor = context.getContentResolver().query(Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,contactNumber),new String[] {PhoneLookup.DISPLAY_NAME, PhoneLookup._ID}, null, null, null);
while(contactLookupCursor.moveToNext()){
phoneContactID = contactLookupCursor.getInt(contactLookupCursor.getColumnIndexOrThrow(PhoneLookup._ID));
}
contactLookupCursor.close();
return phoneContactID;
}