这里每一步我都有截图,非常详细!
首先,第一步,AndroidStudio下,Ctrl +Alt +S 到Plugins搜索“PermissionsDispatcher”安装插件,这里我已经安装过了
第二步,在项目根目录下的build.gradle dependencies下添加 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
第三步,在当前项目app目录的build.gradle 与android{}同级下添加 apply plugin: 'android-apt'
第四步,在当前项目app目录的build.gradle dependencies下添加依赖库 ,如下:
compile 'com.github.hotchemi:permissionsdispatcher:2.3.0' //权限管理库
apt 'com.github.hotchemi:permissionsdispatcher-processor:2.3.0'
第五步,下载完成后即可在想要申请权限的页面,例如MainActivity下右键(任意地方都可以),选择Generate - Generate Runtime Permission ,这时会弹出一个权限申请界面,勾选你想要申请的权限,然后还有一个关键步骤:在Annotations下插件默认会把@NeedsPermission选中,你需要声明一个方法名,该方法是在权限申请成功后调用,点击确定后插件会自动生成代码,两个方法如下:
@NeedsPermission({Manifest.permission.RECORD_AUDIO,Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE}) //这里显示你在界面勾选的权限,通过注解的方式@NeedsPermission
void allowAudio() { //该方法名就是你在@NeedsPermission中自定义的方法名
//权限允许后执行你想要的操作
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
MainActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults); //grantResults数组 的值为-1时表示用户禁止权限,为0时允许 permissions表示申请权限数量的数组
}
这里点击Generate按钮就会自动生成下面两个方法,项目会rebuild一下,你只需等待一下即可。
第六步,最关键一步非常简单,在你想要申请的地方调用如下这行代码就ok了,总的来说,集成也是非常简单。
MainActivityPermissionsDispatcher.allowAudioWithCheck(this);
编辑不易,转载请注明出处!