EasyPermission的使用

1.首先需要在工程里集成Easypermission 官方库

implementation 'pub.devrel:easypermissions:1.2.0'

2.重写请求方法(该方法最好写在需要使用权限判断的界面)

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults)
    EasyPermissions.onRequestPermissionsResult(requestCode,permissions,grantResults,this)
}

3.在需要动态加载权限的地方判断是否有该权限 (以打开相机为例    还有一点需要注意点的是kotlin写法中   对于可变变量  传参时需要使用*参数名 的方式传递)

if (EasyPermissions.hasPermissions(context!!,*permiss)){
    openCamera()
}else{
    EasyPermissions.requestPermissions(this@MineFragment,"申请相机权限",1,*permiss)
}

4.请求权限成功或失败的回调(当用户选择禁止后不再询问时 可以在申请失败中做以下操作)

//权限申请失败
override fun onPermissionsDenied(requestCode: Int, perms: MutableList<String>) {
    if (EasyPermissions.somePermissionPermanentlyDenied(this@MineFragment,perms)){
        AppSettingsDialog.Builder(this@MineFragment)
                .setTitle("权限以被禁用")
                .setRationale("如果不打开权限则无法使用相机,请至设置中打开权限")
                .build()
                .show()
    }
}
//权限申请成功
override fun onPermissionsGranted(requestCode: Int, perms: MutableList<String>) {
    openCamera()
}

以上EasyPermission的使用就完成啦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值