搜索

首页  >  问答  >  正文

android - 小米 vivo 如何实现读取通讯录?

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

黄舟黄舟2830 天前931

全部回复(4)我来回复

  • PHP中文网

    PHP中文网2017-04-17 17:10:26

    借助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));
    ....
    } 
        

    最后注意添加权限。

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:10:26

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

    回复
    0
  • 怪我咯

    怪我咯2017-04-17 17:10:26

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

    回复
    0
  • PHPz

    PHPz2017-04-17 17:10:26

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

    回复
    0
  • 取消回复