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

来源:互联网 发布:mac队员被杀 编辑:程序博客网 时间:2024/05/17 23:34

EasyPermissions 的介绍

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

在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方法

@Overridepublic 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

原创粉丝点击