android 权限动态申请 RxPermissions使用
16lz
2021-01-25
git地址点击打开链接
引用
compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'
使用方法如下,直接使用不需要判断是否在6.0之上,这是kotlin的语法跟java没区别
val rxPermissions = RxPermissions(this) rxPermissions.requestEach(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE) .compose(this.bindToLifecycle())//绑定生命周期回收订阅需引用rxlifecycle没用引用可以不加此句 .subscribe { // will emit 2 Permission objects permission -> when { permission.granted -> { Log("权限", "权限被允许") } permission.shouldShowRequestPermissionRationale -> { Log("权限", "权限被拒绝没有选择不再询问") } else -> { Log("权限", "权限被允许选择了不再询问") } } }
RxPermissions已经判断 boolean isMarshmallow() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M; } public boolean isGranted(String permission) { // 如果是Android 6.0 (Api 23)之前,则权限被允许使用。 return !isMarshmallow() || mRxPermissionsFragment.isGranted(permission); }
更多相关文章
- android关于uses-permission权限列表
- 复习android 的大喇叭~~~
- Android第二周(第二部分)-listview
- Android(安卓)8.1 添加属性SystemProperties.set可执行权限
- Android(安卓)Service之bindService()
- Android唤醒屏幕并解锁
- [Android(安卓)Pro] Android权限设置android.permission完整列表
- android关于权限的问题
- Android(安卓)复习_Service 一