目前项目已经慢慢的迁移到了kotlin语言,基于kotlin协程很容易编写出漂亮的异步结构代码,而由于协程天然自带挂起属性,所以我们的项目中移除了对rxjava的依赖,而对于权限申请一直没有特别好的替代产品,所以写了这个PermissionX来替换RXPermission库。
一、PermissionX介绍
PermissionX:一个Kotlin库,用于Android应用程序基于协程方便获取权限请求,简化权限处理。
二、PermissionX优势:
1、简单的请求接口。
suspend fun requestPermissions(
fragmentActivity: FragmentActivity,
permissionList: ArrayList<String>
)
2、任何地方可调用(Activity、Fragment、Dialog...)
3、同步形式调用,消除回调,获取权限请求结果。
4、支持用户拒绝权限请求后的提示引导。
三、PermissionX的接入:
implementation("com.gitee.gggl:permissionx:1.0.4")
lifecycleScope.launch {
val permissionList = arrayListOf<String>(
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.perm