Android6.0除了提供了很多新特性及功能外还引入了新的权限模式、让用户更好的了解和控制权限。在此之前大家都知道添加权限只需要在AndroidManifest文件中申请即可,那么了解下Android6.0的动态权限吧!
- Android6.0系统权限分为:
- Normal Permissions(不涉及手机用户隐私、在配置文件 AndroidManifest中申请即可、没什么好说的应该都会)
- Dangerous Permission(涉及隐私、需要动态添加)想要查看所有Dangerous Permission的权限, 可以用命令:
adb shell pm list permissions -g -d
下面重点说一下怎么添加Dangerous Permission 的权限。
- 首先还是在配置文件AndroidManifest中申请我们所需要的权限。
- 判断手机系统版本。如果不是Android6.0以上的版本(包括Android6.0),直接继续下一步操作,反之进行权限申请。
注: 不是Android6.0以上的系统不需要进行以下操作
- 检查权限。
通过ContextCompat.checkSelfPermission() 方法检查用户是否授予该权限; - 返回值为:PERMISSION_GRANTED 说明应用具有此项权限 ,可以继续操作。
- 返回值为:PERMISSION_DENIED 说明没有授予应用此项权限,需要向用户请求权限。
- 请求权限。
当应用没有权限的时候通过调用ActivityCompat.requestPermissions(),向用户请求相应权限。 - 处理权限请求响应。
通过onRequestPermissionsResult() 方法处理用户是否允许授予权限。
以上就是我了解的请求动态权限方法,不难理解。