先来看看效果。。
1.添加AddPermission的依赖
gitbub地址:https://github.com/yanzhenjie/AndPermission
implementation ‘com.yanzhenjie:permission:2.0.0-rc12’
推荐先看AddPermission的文档:http://www.yanzhenjie.com/AndPermission/cn/runtime/
2.基本使用
AndPermission.with(this)
.runtime()
.permission(Permission.WRITE_EXTERNAL_STORAGE)
.onGranted(new Action() {
@Override
public void onAction(List permissions) {
// TODO 权限同意
}
}).onDenied(new Action() {
@Override
public void onAction(List permissions) {
// TODO 权限拒绝
}
}).start();
被拒绝第一次后,第二次打开应用再次请求调用
public static Rationale<List<String>> mRationale = new Rationale<List<String>>() {
@Override
public void showRationale(Context context, List<String> data, RequestExecutor executor) {
showDialog(context, executor, permissions);
}
};
/*、
* Dialog,提示是否继续申请权限,继续 executor.execute();取消 executor.cancel();
* */
public static void showDialog(Context context, final RequestExecuto