Android 跨程序共享数据之访问其他应用数据(访问联系人)

本文介绍了Android跨程序共享数据,特别是如何访问和显示手机联系人。通过动态申请权限、使用ContactsContract.ContentUri以及在AndroidManifest.xml中声明权限,详细阐述了实现过程。
摘要由CSDN通过智能技术生成

Android 跨程序共享数据之访问其他应用数据(访问联系人)

跨程序访问其他程序数据很简单,总的来说就是三步:一、动态申请运行时权限,二、按照其格式拼接对应URI获取数据,三、获取到数据后自己显示。本文以获取手机联系人的例子来实现。

首先来看看最后实现效果

由于这里只是做最简单的显示,只是用了最原始的listview。真机调试的,模拟器怎么都无法添加联系人
在这里插入图片描述

动态申请获取联系人的权限

代码中Manifest.permission.READ_CONTACTS为读取手机联系人权限,PackageManager.PERMISSION_GRANTED是看用户是否同意了获取该权限,readContacts()是获取联系人的具体方法实现。

 //运行时权限申请
            if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_CONTACTS)!= PackageManager.PERMISSION_GRANTED){
   
                ActivityCompat.requestPermissions(MainActivity.this,new String[]{
   Manifest.permission.READ_CONTACTS},1);
            }else {
   
                readContacts();
            }
   /**
     * 权限监控
     * @param requestCode
     * @param permissions
     * @param grantResults
     */
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
   
        switch (requestCode){
   
            case 1:
                if (grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION_GRANTED){
   
                    readContacts();
                }else {
   
                    Toast.makeText(MainActivity.this,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值