1. ホーム
  2. android

[解決済み] 電話番号から連絡先情報を照会する方法

2022-02-14 21:30:18

質問内容

アンドロイド1.6で、電話番号から連絡先を照会しようとしています。これは私が試したコードです。しかし、私はカーソルで0に等しいカウントを取得します。

    String selection = "PHONE_NUMBERS_EQUAL(" + People.Phones.NUMBER + " , "   + phoneNumber + ")";
    Cursor cursor = mContext.getContentResolver().query(People.CONTENT_URI,
            new String[] {People._ID, People.NAME, People.Phones.NUMBER},
            selection, null, null);

なぜうまくいかないのか、心当たりはありますか?

ありがとうございました。

解決方法は?

URIを指定してクエリを実行することで、電話番号から直接連絡先を取得することができます。

Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(phoneNumber));

Cursor cursor = mContext.getContentResolver().query(contactUri, null, null, null, null);

上記のコードで返されたカーソルには、探している連絡先が含まれているはずで、必要な情報を得ることができます。

if(cursor.moveToFirst()){
    int personIDIndex = cursor.getColumnIndex(Contacts.Phones.PERSON_ID);
    //etc
}