美文网首页
Android-获取联系人信息,兼容华为手机

Android-获取联系人信息,兼容华为手机

作者: 程序员小杨 | 来源:发表于2020-09-23 17:22 被阅读0次

一,清单文件,添加权限

<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-permission android:name="android.permission.WRITE_CONTACTS" />

<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <!-- 获取用户联系人数据 -->

二,动态申请权限

三,跳转系统联系人界面

//权限申请成功后,打开通讯录

public void openPhoneBook() {

Intent intent =new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);

    startActivityForResult(intent, Constant.REQUEST_CODE_PHONE);

}

四,回调数据

//获取到电话

private void getPhoneBookName(Intent data) {

if (data !=null) {

Uri uri = data.getData();

        String[] contact =new String[2];

        //得到ContentResolver对象**

        ContentResolver cr = getContentResolver();

        //取得电话本中开始一项的光标**

        Cursor cursor=cr.query(uri,null,null,null,null);

        if(cursor!=null)

{

cursor.moveToFirst();

            String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));

            Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,

                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID +"=" + ContactId, null, null);

            if(phone !=null){

phone.moveToFirst();

                contact[0] = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));

                String phoneNum = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                //  把电话号码中的  -  符号 替换成空格

                phoneNum = phoneNum.replaceAll("-", " ");

                // 空格去掉  为什么不直接-替换成"" 因为测试的时候发现还是会有空格 只能这么处理

                phoneNum = phoneNum.replaceAll(" ", "");

                contact[1] = phoneNum;

            }

phone.close();

            cursor.close();

        }

String contactName = contact[0]; //姓名

        String phoneNum = contact[1];//电话

    }

}

相关文章

网友评论

      本文标题:Android-获取联系人信息,兼容华为手机

      本文链接:https://www.haomeiwen.com/subject/qajoyktx.html