2

電話番号のセットに基づいて連絡先リストを取得したいと考えています。ここで何がうまくいかないのですか?

現在これを使用しています -

private String numbers = "'12345', '54321'";

String[] mSelectionArgs = {numbers};'

return new CursorLoader(getActivity(),
                    PhoneLookup.CONTENT_FILTER_URI,
                    ContactsQuery.PROJECTION,
                    ContactsQuery.SELECTION,
                    mSelectionArgs,
                    PhoneLookup.DISPLAY_NAME);

PROJECTION と SELECTION は ContactsQuery で次のように定義されます。

final static String[] PROJECTION = {
        PhoneLookup._ID,

        PhoneLookup.LOOKUP_KEY,

            PhoneLookup.DISPLAY_NAME,

            PhoneLookup.PHOTO_THUMBNAIL_URI,

    };

final static String SELECTION =     
            PhoneLookup.HAS_PHONE_NUMBER + "=1 AND " + PhoneLookup.NUMBER) + " IN (?)";

ただし、次のエラーが表示されます。

07-08 00:44:21.007: E/AndroidRuntime(2307): 原因: java.lang.IllegalArgumentException: URI: content://com.android.contacts/phone_lookup、呼び出し元ユーザー: com.example.android.contactslist、呼び出しパッケージ:com.example.android.contactslist

4

1 に答える 1

0

試す:

ContentResolver cr = context.getContentResolver(); カーソル cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, (DISPLAY_NAME = '" + name + "'"), null, null);

于 2013-07-07T21:11:52.517 に答える