android - 小米 vivo 如何实现读取通讯录?
黄舟
黄舟 2017-04-17 17:08:26
0
4
917

普通数据库读取不可行,小米vivo管理允许读取通讯录后依旧不可行,其他品牌手机可以读取,求助可行读取办法,在线等。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
洪涛

借助ContentResolver与ContentProvider提供的Uri 可以获取系统的中的通讯录
管理联系人Uri:ContactsContract.Conacts.CONTENT_URI
电话的Uri:ContactsContract.CommonDataKinds.Phone.CONTENT_URI

Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);
//遍历结果
if (cursor.moveToNext()){
//联系人ID
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
//联系人名字
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
....
} 
    

最后注意添加权限。

Peter_Zhu

楼上的回答正确,最后别忘记关cursor

刘奇

如果是使用ContentProvider的话每个平台都是一样的,手机厂商不好自己随便改的,因为手机在上市前会走CTS流程。所以你这边不行估计是没有代码写的有问题。

PHPzhong

小米和vivo不是一个品牌吧。我们读取小米的通讯录是可以的,手上没有vivo测试机。你指的小米vivo不能读取是?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板