跨程序共享数据——实现拨打电话与查看联系人
文章目录
第一章 程序运行时申请权限
第二章 拨打电话“10086”
第三章 读取系统联系人
前言
本次我们主要学习跨程序实现共享数据,在模拟机上运行出可以实现拨打电话,实现查看联系人
一、程序运行时申请权限
android的权限机制并不是什么新鲜事物,从系统的第一个版本就已经存在了。首先新建一个RuntimePermission Test项目,我们就在这个项目的基础上来学习运行时权限的使用方法。这里我们使用CALL-PHONE这个权限来讲解,CALL-PHONE这个权限时编写拨打电话功能的时候需要声明的,因为拨打电话会涉及用户手机资费问题,因而被列为了危险权限。新建好项目后我们修改activity_main.xml布局文件,如下;
我们在布局文件中只是定义了一个按钮,当点击按钮时就去触发拨打电话的逻辑。接着修改MainActivity中的代码,如下;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201213191751158.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzUzMDY2MTcx,size_16,color_FFFFFF,t_70
接下来修改AndroidManifest.xml文件,在其中声明如下权限:
二、 拨打电话“10086”
上面我们已经把拨打电话权限打开,这样拨打电话的功能实现了,并且在低于Android6.0系统的手机上都是可以正常运行的,但是如果在6.0或者更高版本系统的手机运行,点击Make Call按钮就没有任何效果,这是我们在继续修改MainActivity中的代码,如下;
现在重新点击运行一下程序,点击MakeCall 按钮,如下;
可以把”10086“电话换成其他号码也可以实现的哟!
三、 读取系统联系人
由于我们一直使用的都是模拟器,电话簿里面没有联系人存在,所以现在需要自己手动添加几个,以便一会儿进行读取,打开电话簿程序,如下;
可以看到目前没有联系人,我们可以通过点击”+“号添加联系人,以下我添加了两个联系人,如下;
准备工作做好后,现在新建一个项目,还是先来布局文件,修改activity_xml中的代码,如下;
接着修改MainActivity中的代码,如下;
记得还要修改联系人的权限,修改AndroidManifest.xml中的代码,如下;
代码改完后就可以点击运行了,运行结果如下;
总结
通过这次学习实现了跨程序共享数据,拨打电话,查看联系人,如何打开权限,也是不小的收获。