DISABLE_KEYGUARD权限,关于Android权限(有copy部分,请理解)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cadi2011/article/details/82863573

1、背景

这次公司提交的新版本,menifest新增加了DISABLE_KEYGUARD,这个权限,允许程序禁用键盘锁

2、Google Play提交的时候,对新增加对权限,有了要求

要求说明一下这个权限的用途

3、是时候全面了解Android的权限体系了,我是坑自己

a、权限背景

从 Android 6.0(API 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。这种权限机制可以让用户更好的管理应用的权限,保障用户隐私。

在API22及以前,就是5.1及以前版本,都是安装时,要求用户授权,而从6.0开始,在App运行时要求其授予权限

b、权限分类

系统权限分为两类:

  • 正常权限不会直接给用户隐私权带来风险。如果您的应用在其清单中列出了正常权限,系统将自动授予该权限。
  • 危险权限会授予应用访问用户机密数据的权限。如果您列出了危险权限,则用户必须明确批准您的应用使用这些权限。

下方就是危险权限,而同类型的权限,Android还给分了Group,可见老外真的好会总结

c、一些注意事项

  1. 在 Android 5.1(API 22)或更低版本,并且应用的 targetSdkVersion 是 22 或更低版本,则系统会在安装时要求用户授予权限。(沿用之前的权限系统)
  2. 即使在安装时已经授予应用所有权限,在Android 6.0之后依然可以通过 "Setting" 来关闭已经授予的权限。
  3. 在请求权限时,操作系统只告诉用户应用需要的权限组,而不告知具体权限,这点牛了
  4. 如果在未检查授权的情况下,直接使用危险权限,会导致程序Crash,这个恨了
  5. 使用 v4 包中的 ContextCompat 处理权限(v13 包中的FragmentCompat),不需要考虑版本问题。

4、这是关于权限的实现方式,这哥们总结的挺好的

a、我简单总结一下,首先使用功能前,检查是否获得危险权限

b、没有就去向用户申请

c、用户不给,就再弹一个自定义对话框解释一下

e、menifest里面和原来设置的一样

https://www.jianshu.com/p/d6b3e16cc1d9

猜你喜欢

转载自blog.csdn.net/cadi2011/article/details/82863573