安卓权限申请封装处理框架。测试支持4.0+。项目源于正式处理Android权限问题时,没找到简单、能满足被拒绝权限自动会到系统设置处理的框架,按自己的编程习惯造一个熟悉的轮子还是蛮好的。第一次使用Android Studio,还是Eclipse敲代码爽。来自一个(独爱HTML+CSS来构建用户界面的)Android很早入门的新手。
项目用到了XXPermissions中的权限列表、国产手机权限设置页面跳转列表,借鉴了其中的权限结果onRequestPermissionsResult的接收方式。
特性
一个函数调用处理权限申请的所有问题,被拒绝的权限重复询问,被永久拒绝的权限(记住选择、不再询问)打开App授权系统设置。
函数式调用,代码简洁明晰,阅读源码不用跳来跳去。
明确的授权结果回调,要么有(True),要么没有(False)。
默认0界面,调用者无需知道、提供、导入任何界面包括文件,但可深度定制。
中性,默认非弓虽J式、有回旋余地的对待拒绝权限的场景。
理论上支持任何Android版本(但仅在 4.0 - 9.0 模拟器上进行了测试)。
演示
可直接编译test_app项目进行测试,或者下载.assets/test_app-debug-xxx.apk测试安装包。
快速使用
直接复制lib_comm/src/main/java/ecomm/lib_comm/permission里面的文件到你的程序里面即可使用。
示例代码
//假设需要获取摄像头、录音权限,直接在调用的地方实现抽象类,调用逻辑能简单直观不少
new UsesPermission(MainActivity.this, Permission.CAMERA, Permission.RECORD_AUDIO){
@Override
protected void onTrue(@NonNull ArrayList lowerPermissions) {
//获取了全部权限执后行此函数,
}
@Override
protected void onFalse(@NonNull ArrayList rejectFinalPermissions, @NonNull ArrayList rej