运行时权限PermissionDispatcher 的使用

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);

你可能感兴趣的:(运行时权限PermissionDispatcher 的使用)