对于Android应用权限(危险权限)来说,6.0运行时权限认证算是一个较大的变动,而官网介绍的方式比较繁琐不易操作,而开源AndPermission依赖库正好可以解决这个问题,它采用链式调用方式,一句话申请所需权限。
下图所示即为需要手动申请的危险权限,无论是运行时权限还是普通权限,均需要在配置文件内进行获取。
首先在build文件内引入AndPermission依赖:
之后为了引用方便我采用封装工具类的方式对AndPermission库进行封装,方便大家使用。
第一步,获取当前App包名,并通过包名判断您要获取的权限是否已授权。
第二步,进行通过AndPermission进行动态申请,这里,我们为了获取用户申请权限结果,定义两个结果接口引用。
最后,我们需要在代码里进行引用,通常此方法是放在按钮点击中,如需要App初始进行申请,则可放在启动页Activity内。
这里,我需要申请相机权限,按照步骤,我们会先进行检查,若App已获取当前权限则直接进行后续操作,反之,通过AndPermission进行申请,而onRequestSuccess()及onRequestFailed()方法则分别对应用户授权结果,可根据情况进行对应设置。
而诸位如果需要申请的是读写文件夹权限,则我们可以对文件夹权限进行判断,而具体代码可以变更为下图的示例:
另外,值得注意的是,Android8.0针对动态权限再次进行变更。下图引自Android 8.0 动态权限变更
AndPermission库使用到此结束,当然,库内还有其他一些方法,各位大神可视具体情况进行引用。