android - 如何获取所有号码的联系人?我做错了什么?

标签 android android-contacts android-contentresolver

您好,实际上我这样做是为了获取所有具有号码的联系人:

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 请求。此错误是因为游标编号不匹配任何编号。

最佳答案

您是否专门尝试从 Facebook 联系人中获取电话号码?

FaceBook 内容提供商受到限制。它不会让您检索电话号码。

请看这个questionherehere .

关于android - 如何获取所有号码的联系人?我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13733524/

相关文章:

android - Android Q 上用于辅助存储的媒体扫描器

android - 由于数字 Assets 链接,Google Play 不接受即时应用

android - 使用 android.content.Intent.ACTION_SENDTO 启动 whatsapp

android - 联系人 ID 在更新后递增(android API 级别 7 及更高版本)

java - 在 Android 中共享联系人

android - 在 Android Q 上使用 Glide 显示来自具有 "content://"方案的 URI 的图像

java - 尝试使用 Intent 获取字符串时,.child() 未设置

android - 如何在 mediaplayer android 上播放 mp3+g

安卓联系人搜索 : Using dialpad keys (alphabets combinations/permutations)

android - 从收件箱中删除消息或在 Android Lollipop 和棉花糖中以编程方式发送