android权限使用流程

//工具集
implementation 'com.blankj:utilcode:1.30.7'
//RxJava系统权限管理
implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
//rxJava响应式编程
implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
@SuppressLint("CheckResult")
fun FragmentActivity.requestAppPermission(okListener:()-> Unit, qxListener: ()->Unit){
    val permissions=arrayOf(
        Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WRITE_EXTERNAL_STORAGE)
    val rxPermissions=RxPermissions(this)
    if (!PermissionUtils.isGranted(*permissions)){//未通过
        //先弹窗提示权限使用对话框
        CommonIosDialog.Builder(this)
            .setTitle(getString(R.string.use_photography_permission))
            .setContent(getString(R.string.image_read_storage_permission))
            .setMode(CommonIosDialog.Mode.DOUBLE_MODE)
            .setCancel("取消", null)
            .setConfirm("确定", object : OnMultiClickListener() {
                override fun onMultiClick(v: View?) {
                    rxPermissions.request(*permissions).subscribe { aBoolean ->
                        if (aBoolean) {
                            okListener.invoke()
                        } else {
                            qxListener.invoke()     
                            //用户拒接时,弹窗提示用户去权限设置页开启权限
                            val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
                            val uri = Uri.fromParts("package", packageName, null)
                            intent.data = uri
                            startActivityForResult(intent, 0)                           
                        }
                    }
                }
            }).create().show()
    }else{//已通过
        okListener.invoke()
    }
}

//使用时
requestAppPermission(okListener = {
                    //to do
                }, qxListener = {
                        //to do
                    })
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容