1

こんにちは、実際には、番号を持つすべての連絡先を取得するためにこれを行っています:

String[] projecao = new String[] { ContactsContract.Contacts._ID,
                ContactsContract.Contacts.LOOKUP_KEY,
                ContactsContract.Contacts.DISPLAY_NAME };
        String selecao = ContactsContract.Contacts.HAS_PHONE_NUMBER + " = ? ";
        Cursor contatos = contexto.getContentResolver().query(
                ContactsContract.Contacts.CONTENT_URI, projecao, selecao,
                new String[] { "1" }, null);

そして、各連絡先のすべての番号を取得するには:

while (contatos.moveToNext()){
    Cursor numbers = contexto
                    .getContentResolver()
                    .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                            new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER },
                            ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                    + " = ?",
                            new String[] { contatos.getString(contatos
                                    .getColumnIndex(ContactsContract.Contacts._ID)) },
                            null);
    numbers.moveToFirst();
    StringBuilder sb = new StringBuilder();
                do {
                    sb.append(numbers.getString(numbers
                            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))
                            + ", ");
                } while (numbers.moveToNext());
}

しかし、Facebookからの番号を選択することはできません。

そのエラーが表示されます: インデックス 0 要求。このエラーは、カーソル番号がどの番号とも一致しなかったために発生します。

4

1 に答える 1

1

特に Facebook の連絡先から電話番号を取得しようとしていますか?

FaceBook コンテンツ プロバイダーは制限されています。電話番号を取得することはできません。

この質問またはこちらまたはこちらをご覧ください。

于 2012-12-05T22:24:14.277 に答える