tbruyelle/RxPermissions

点击dialog外侧,dialog也会取消,且shouldShowRequestPermissionRationale=flase

githubxiaoou opened this issue · 3 comments

disposable = rxPermissions.requestEach(permission.CALL_PHONE, permission.CAMERA)
.subscribe(new Consumer() {
@OverRide
public void accept(Permission permission) throws Throwable {
if (permission.granted) {
Log.e(permission.name, "granted");
} else if (permission.shouldShowRequestPermissionRationale) {
Log.e(permission.name, "shouldShowRequestPermissionRationale");
} else {
Log.e(permission.name, "denied");
}
}
});

权限对话框是可取消的,点击dialog外侧取消后,走的也是else分支。这时候去过else里面写的是引导用户去设置页的逻辑,就不大合适。希望能够区分开:不再询问的禁止 和 点击dialog外侧取消。

更正:点击dialog外侧取消的时候,permission.shouldShowRequestPermissionRationale取的是最近一次的赋值。