1.Android studio 引入 需要使用PermissionsDispatcher,需要在project的 build.gradle中添加
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
2.然后在app module中的build.gradle中添加:(必须在app module中添加)
apply plugin: 'android-apt'
compile("com.github.hotchemi:permissionsdispatcher:2.4.0") {
exclude module: "support-v13"
}
apt "com.github.hotchemi:permissionsdispatcher-processor:2.4.0"
3.主要有下面5个注解
@RuntimePermissions 标记需要运行时判断的类
@NeedsPermission 标记需要检查权限的方法
@OnShowRationale 授权提示回调
@OnPermissionDenied 授权被拒绝回调
@OnNeverAskAgain 授权不再拒绝不再显示回调
a.@RuntimePermissions 在Activity或者Fragment中需要添加,来处理权限的问题
@RuntimePermissions
public class MainActivity extends AppCompatActivity {
b.将需要权限的操作定义在一个方法里,并用 @NeedsPermission(Manifest.permission.CAMERA)表明需要的权限(可以是多个)
@NeedsPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
void showRead(){
Log.e(TAG, "showLocation: "+"obtain permission " );
}
c.编译一下,就会生成【当前类名+PermissionsDispatcher】的类,也会生成用@NeedsPermission标记的方法【标记方法+WithCheck】。
d.在需要的地方调用生成的方法
MainActivityPermissionsDispatcher.showReadWithCheck(this);
网友评论