Skip to content

Latest commit

 

History

History
45 lines (25 loc) · 2.21 KB

内容提供器学习.md

File metadata and controls

45 lines (25 loc) · 2.21 KB

内容提供器

1.Android权限机制:

​ Android现在将所有的权限归成了两类,一类是普通权限,一类是危险权限。还有一种特殊权限,但是暂时不做讨论。Android危险权限一共9组24个权限。如下:

image

其余则是普通权限。

每当要使用一个权限时,可以先到这张表中来查一下,如果是属于这张表中的权限,那么就需要进行运行时权限处理,如果不在这张表中,那么只需要在AndroidManifest.xml文件中添加一下权限声明就可以了。另外注意一下,表格中每个危险权限都属于一个权限组,我们在进行运行时权限处理时使用的是权限名,但是用户一旦同意授权了,那么该权限所对应的权限组中所有的其他权限也会同时被授权。

2.权限的申请:

​ 在AndroidMainfest里面添加如下话语就能申请权限了:

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

其中“CALL_PHONE"部分就是要申请的具体权限名。

​ 在用户使用时,我们可以通过requestPermissions()方法来获取用户同意。**requestPermissions()方法接收3个参数,第一个参数要求是Activity的实例,第二个参数是一个String数组,我们把要申请的权限名放在数组中即可,第三个参数是请求码,只要是唯一值就可以了,这里传入了1。**调用完了requestPermissions()方法之后,系统会弹出一个权限申请的对话框,然后用户可以选择同意或拒绝我们的权限申请。如下:

 ActivityCompat.requestPermissions(MainActivity.this,new String[]{ Manifest.permission.CALL_PHONE },1);

WARNING:

​ 在添加权限时在活动中指定权限名的时候选用”Mainfest“时有几个选择,要选择后缀是android的,如图:

image-20231109142303730

否则就会找不到需要的权限名。(已踩坑)

3.访问其他程序中的数据:

(1).ContentResolver用法:

(2).读取系统联系人: