原文:https://blog.csdn.net/zuo_er_lyf/article/details/84954150
android 6.0 新增加了运行时的动态添加权限,在此介绍一个第三方库,PermissionGen,可以很方便简洁的增加 6.0权限。
步骤:
1.引用库:
在 app gradle 中引入:
compile 'com.lovedise:permissiongen:0.0.6'
2.请求权限调用方法:
PermissionGen.with(MainActivity.this)
.addRequestCode(100)//请求码
.permissions(
Manifest.permission.CAMERA//已获取相机权限为例
.request();
或者
PermissionGen.needPermission(MainActivity.this, 100,
new String[] {
anifest.permission.CAMERA
}
);
使用Fragment时,必须时v4下的android.support.v4.app.Fragment。
3.重写onRequestPermissionsResult 方法:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
PermissionGen.onRequestPermissionsResult(this,requestCode,permissions,grantResults);
}
4.通过注解,书写获取权限成功和失败方法(注解的requestCode 要和你之前定义的常量一致):
@PermissionSuccess(requestCode =100)
public void requestPermissionsSuccess(){
Log.i("权限","Success");
}
@PermissionFail(requestCode = 100)
public void requestPermissionsFail(){
Log.i("权限","Fail");
}
注:点击拒绝或禁止会执行失败方法
第三方库地址:https://github.com/lovedise/PermissionGen