如何获取所有联系人的号码?我做错了啥?
Posted
技术标签:
【中文标题】如何获取所有联系人的号码?我做错了啥?【英文标题】:How to get all contacts with number? What I'm doing wrong?如何获取所有联系人的号码?我做错了什么? 【发布时间】:2012-11-23 21:16:20 【问题描述】:您好,实际上我这样做是为了获取所有有号码的联系人:
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 请求。这个错误是因为光标编号不匹配任何数字。
【问题讨论】:
【参考方案1】:您是否专门尝试从 Facebook 联系人中获取电话号码?
FaceBook 内容提供商受到限制。它不会让您检索电话号码。
请参阅此question 或 here 或 here。
【讨论】:
不具体,我想要所有议程。 @weldsonandrade 我很确定这意味着您也无法通过电话号码搜索 Facebook 联系人,因为您无法读取内容提供商中的任何数据。以上是关于如何获取所有联系人的号码?我做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章
当我 git push 所有文件都更新(甚至没有更改)时,我做错了啥?
TestFlight 用户说应用程序无法安装——我做错了啥?