今天在用Kotlin改写之前的权限申请的时候,出现权限申请无效的问题,开始着手解决问题。
java:
String permissions = "android.permission.SIGNAL_PERSISTENT_PROCESSES";
RxPermissions rxPermissions = new RxPermissions(MainActivity.this);
rxPermissions.requestEach(permissions)
.subscribe(new Consumer<Permission>() {
@Override
public void accept(Permission permission) throws Exception {
if (permission.granted) {
// 用户已经同意该权限
//result.agree(permission);
} else if (permission.shouldShowRequestPermissionRationale) {
// 用户拒绝了该权限,没有选中『不再询问』(Never ask again),那么下次再次启动时,还会提示请求权限的对话框
//result.refuse(permission);
} else {
// 用户拒绝了该权限,并且选中『不再询问』,提醒用户手动打开权限
//result.noMoreQuestions(permission);
}
}
});
kotlin:
val rx = RxPermissions(RxPermissionActivity@this)
rx.requestEach(permissions)
.subscribe{
if (it.granted){
}else if (it.shouldShowRequestPermissionRationale){
}else{
}
}
//两种写法都可以
val rxPermissions = RxPermissions(RxPermissionActivity@this)
rxPermissions.requestEach(permissions)
.subscribe { permission ->
if (permission.granted) {
// 用户已经同意该权限
//result.agree(permission);
} else if (permission.shouldShowRequestPermissionRationale) {
// 用户拒绝了该权限,没有选中『不再询问』(Never ask again),那么下次再次启动时,还会提示请求权限的对话框
//result.refuse(permission);
} else {
// 用户拒绝了该权限,并且选中『不再询问』,提醒用户手动打开权限
//result.noMoreQuestions(permission);
}
}
就算是动态权限申请,也需要先在注册表里面申请,这次就是因为这个问题,你申请什么权限,就要在注册表里面先添加。
<uses-permission android:name="android.permission.CAMERA"/>
本文地址:https://blog.csdn.net/qq_43203586/article/details/107966349
如对本文有疑问, 点击进行留言回复!!
SpringBoot实现本地存储文件上传及提供HTTP访问服务的方法
Java实现AES/CBC/PKCS7Padding加解密的方法
SpringBoot整合Spring Security的详细教程
IDEA 非常重要的一些设置项(一连串的问题差点让我重新用回 Eclipse)
详解Springboot2.3集成Spring security 框架(原生集成)
网友评论