前言:
本文不涉及第三方的类库和工具,只是原生的操作流程
一、简介
Android6.0 之前,用户安装 app ,会根据声明的权限生成一个权限列表,只有用户同意才能完成安装,而用户一般也不会注意这些权限,有可能会造成一些私密权限的泄漏,从而威胁到我们手机本身的信息安全!
Android6.0之后,运行时权限解决了这一问题,用户可以直接安装 app ,一些高危权限会在应用运行的过程中动态申请,我们可以选择同意或者拒绝,也可以在设置界面对每个 app 的权限进行查看和修改。
二、权限简介
官网上有句话,系统权限分为几个保护级别,需要了解的最重要的两个是 正常权限 和 危险权限 ,而运行时权限就是针对危险权限而言的。
- 危险权限官网定义:
危险权限涵盖应用需要涉及用户隐私信息的数据或资源,或者可能对用户存储的数据或其他应用的操作产生影响的区域。例如,能够读取用户的联系人属于危险权限。如果应用声明其需要危险权限,则用户必须明确向应用授予该权限。
- 危险权限种类:
注意:左侧为权限组,右侧为权限组的具体权限,同一组内的任何一个权限被授权了,其他权限也自动被授权,系统只告诉用户应用需要的权限组,而不告知具体权限!
- 使用流程
需要将 app 的 targetSdkVersion 设置到 23 及其以上,这样才有可能触发运行时权限。
在AndroidManifest文件中添加所需要的权限。
先检查系统版本,如果系统在 6.0 以上,采取运行时权限,版本名称和版本号参考官网:https://developer.android.com/reference/android/os/Build.VERSION_CODES.html
|
|
- 几个重要的 API
|
|
|
|
|
|
|
|
- 完整的操作流程
|
|
- 有几位大神总结的很不错,附上链接