如何获取所有 android 联系人但没有 SIM 卡上的联系人
Posted
技术标签:
【中文标题】如何获取所有 android 联系人但没有 SIM 卡上的联系人【英文标题】:How to get all android contacts but without those which are on SIM 【发布时间】:2011-05-19 07:44:39 【问题描述】:可以在一个查询中完成吗?
据我所知,sim 联系人的内容 uri 是 content://icc/adn
【问题讨论】:
请在Github 上查看一个库,以使用简单易用的 api 获取联系人。 【参考方案1】:这很容易! :)
Cursor cursor = mContentResolver.query(
RawContacts.CONTENT_URI,
new String[]RawContacts._ID,RawContacts.ACCOUNT_TYPE,
RawContacts.ACCOUNT_TYPE + " <> 'com.anddroid.contacts.sim' "
+ " AND " + RawContacts.ACCOUNT_TYPE + " <> 'com.google' " //if you don't want to google contacts also
,
null,
null);
【讨论】:
你能写出如何从这个光标中获取数字和名字的代码吗?我将代码写为“while(cursor.moveToNext())String phoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); String name = cursor.getString(cursor.getColumnIndex(ContactsContract. Contacts.DISPLAY_NAME)); Log.i("所有联系人",phoneNumber+"->"+name); 但收到类似“: Bad request for field slot 0,-1. numRows = 46, numColumns = 2 之类的错误 'com.anddroid.contacts.sim' 是手动值。有什么常量可以参考一下。 @tana 你怎么知道哪些可能的常量可用于当前设备?有没有办法为联系人的 SIM/本地存储获取正确的联系人,无论设备如何? 对不起,我不知道常数以上是关于如何获取所有 android 联系人但没有 SIM 卡上的联系人的主要内容,如果未能解决你的问题,请参考以下文章