使用EasyPermissions 来打造简单的android6.0动态权限

时间:2022-05-27 15:21:23

EasyPermissions 的介绍

EasyPermissions是一个三方库,用于android6.0动态权限的使用。

在android6.0版本中,涉及到权限问题的使用,都需要进行动态申请。

使用EasyPermissions 来打造简单的android6.0动态权限


EasyPermissions 的使用

在build.gradle中

dependencies {
compile 'pub.devrel:easypermissions:0.4.0'
}

开发过程中,遇到需要使用动态权限时,添加如下代码

 if (EasyPermissions.hasPermissions(this, "android.permission.XXXX")) {
//具备权限 直接进行操作
} else {
//权限拒绝 申请权限
EasyPermissions.requestPermissions(this, "", PERMISSION_CAMERA, "android.permission.XXXX"); }

然后在activity或fragment中 覆盖onRequestPermissionsResult方法

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
// 将结果转发到EasyPermissions
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}

最后用activity或fragment实现 EasyPermissions.PermissionCallbacks接口 复写它的两个回调方法

    @Override
public void onPermissionsGranted(int requestCode, List<String> perms) {//某些权限已被授予

}

@Override
public void onPermissionsDenied(int requestCode, List<String> perms) { //某些权限已被拒绝
if (requestCode == PERMISSION_CAMERA) {
//显示dialog来提示用户去设置
new AppSettingsDialog.Builder(this).setRationale("1231414").setTitle("标题").build().show();
}
}

啦啦啦。。这样我们就完成了用EasyPermissions 来实现android6.0的动态权限的申请。

EasyPermissions 的下载

下面放githup的项目,很简单,大家可以下载使用。

https://github.com/googlesamples/easypermissions