Skip to content

基于空白Fragment轻松进行权限请求,仅需两三行代码即可调用,结果处理支持协程类型或回调函数类型

License

Notifications You must be signed in to change notification settings

ldh-star/ClarityPermission

Repository files navigation

超简单的权限申请-ClarityPermission

使用

1.在 build.gradle 中添加依赖

implementation 'com.gitee.liang_dh:ClarityPermission:版本号见上面'

2.使用

以协程的方式使用
CoroutineScope(Dispatchers.Main).launch {
    val result = requestPermissionsWithCoroutine(Manifest.permission.WRITE_EXTERNAL_STORAGE)
}
以回调函数的方式使用
requestPermissionsWithCallback(Manifest.permission.CAMERA) { result ->

}
还有另一种形式
requestPermissions(Manifest.permission.RECORD_AUDIO).granted {
    //权限被同意
}.denied {
    //权限被拒绝
}
返回结果 result
 when (result) {
     is PermissionResult.Granted -> {
     //权限全部同意
     }
    is PermissionResult.Denied -> {
        result.deniedPermissions//被拒绝的权限
        result.deniedPermissionsPermanently//被永久拒绝的权限
    }
 }

注意:申请多个权限应把这些权限放到一起一次申请,而不是分成多次申请。

对了,除了这些以外还有一些小工具放在PermissionExt.kt中的,可以去使用。

About

基于空白Fragment轻松进行权限请求,仅需两三行代码即可调用,结果处理支持协程类型或回调函数类型

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages