android权限

权限分为安全权限和危险权限,其相同点在于两者都在manifest中声明,不同点在于安全权限在app安装时会被系统自动授予,而危险权限(android6.0 之后)要在用户安装完成之后,在用户使用的时候由用户选择是否授予。

用户的选择有三种,同意,拒绝,附带一个不再询问。

a.同意的话就是权限被授予,不需进行要额外的工作。

b.拒绝的话就得额外做两件事:1、用UI告诉用户为什么要这个权限;2、再次向用户申请权限(即又是一个三个选择)。

c.不再询问分为     拒绝+不再询问  和     同意+不再询问,同意+不再询问 不需要做额外的工作,拒绝+不再询问就相当于永远拒绝了权限,要开启这个权限,只能提示用户去设置里面去开启该APP的对应的权限开关,或者重新安装app然后选择a中的同意。

在android6.0(api>23)之后

manifest中列出危险权限之外,要让用户授予对应权限需要以下流程。

1、检查权限(会弹出 允许/拒绝 对应权限的对话框 )

    对于危险权限,每次使用都必须被要求询问。(比如昨天允许了相机权限,那么今天必须再次允许相机权限才能使用相机)

method:ContextCompat.checkSelfPermission()

2、解释权限.(若用户在1中拒绝,进入向用户解释为什么需要这个权限这个环节,随后进入环节3,如果同意直接进入3环节)

shouldShowRequestPermissionRationale().

 3、请求权限(向用户请求权限,让用户选择允许/ju)

requestPermissions()      (   回调函数 onRequestPermissionsResult())


note:直接简单的请求权限 requestPermissions()   详见Github 地址 https://github.com/caltech-chen/PermissionDemo

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容