1つのクエリで複数の連絡先の検索

1つのクエリで連絡先情報(名前、写真)を電話番号のリストで検索することは可能ですか?例えば:

SELECT name, photo
FROM contacts
WHERE phonenumber IN ("0123456", "987812", "365463")

現在、多くのクエリでループ内の連絡先情報を取得していますが、それは非常に遅いです:

String[] phonenumbers = new String[]{"03012345", "04012345", "089012551"};
String[] projection = new String[]{PhoneLookup.DISPLAY_NAME, PhoneLookup._ID};

for (int i = 0; i < phonenumbers.length; i++) {

   //Retrieve name and contact id
    Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, phonenumbers[i]);
    Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
    String name = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME));
    long id = cursor.getLong(cursor.getColumnIndex(PhoneLookup._ID));

   //retrieve photo bitmap with contact id
    uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
    InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(), uri);
    Bitmap photo = BitmapFactory.decodeStream(input);
}
3

答えはありません

0