android 6.0 新增加了运行时的动态添加权限,在此介绍一个第三方库,PermissionGen,可以很方便简洁的增加 6.0权限
首先给大家上 PermissionGen 库地址:https://github.com/lovedise/PermissionGen
使用:
1.引用库:
在 app gradle 中引入:
compile 'com.lovedise:permissiongen:0.0.6'
在需要检测权限的地方使用:
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { PermissionGen.with(mContext) .addRequestCode(int_permiss) .permissions( Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) .request(); } }, 1000);
其中 PermissionGen.with(mContext) 中的 mContext 可以是 Activity,也可以是 Fragment ,photo_permiss 这个常量是自己定义的,之后需要重写
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { PermissionGen.onRequestPermissionsResult(this, requestCode, permissions, grantResults); }
之后会异步返回两个方法,成功和失败,它们是用注解写的,方法里注解的requestCode 要和你之前定义的常量一致’,方法如下
@PermissionSuccess(requestCode = int_permiss) public void permissionSuccess() { Toast.makeText(this, "权限允许,可正常使用", Toast.LENGTH_LONG).show(); } @PermissionFail(requestCode = int_permiss) public void permissionFailure(){ Toast.makeText(this, "权限拒绝,无法正常使用", Toast.LENGTH_LONG).show(); }