1

電話番号を指定して、誰かのメールアドレスを見つけようとしています(連絡先に保存されていると仮定します)。

現時点では、人の名前や何かが必要な場合は問題ありません。

Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI,
            Uri.encode(phoneNumber));
Cursor cur = getContentResolver().query(uri, null, null, null, null);
String name = cur.getString(cur.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);

ただし、電話番号を使用して検索する方法はありません。メール DB を介して

Uri emailUri = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Email.CONTENT_LOOKUP_URI,
            Uri.encode(phoneNumber));
Cursor cur = getContentResolver().query(emailUri, null, null, null, null);
//Returns nothing, unless someone has the email +441234567891@hotmail.com or something

これで、CONTENT_FILTER_URI を使用して、見つけたばかりの人物の名前を検索できます...しかし、2 人のジョン スミスを取得することができました... PhoneLookup と Email DB にまたがって参加する方法があるに違いありません。多分LOOKUP_KEYか何かを使っていますか?

4

0 に答える 0