我正在使用 RxPermissions 来处理我的项目中的权限。
'com.github.tbruyelle:rxpermissions:0.12'
'io.reactivex.rxjava3:rxjava:3.0.4'
这是我处理CAMERA
权限的代码:
new RxPermissions((FragmentActivity) context).request(Manifest.permission.CAMERA)
.subscribe(granted -> {
if(granted){
Intent packageReceiveIntent = new Intent(context, ReceivePackageActivity.class);
context.startActivity(packageReceiveIntent);
}
});
这被称为onClick
事件。
由于某种原因,在 is 之后没有调用里面的代码,Consumer
我必须点击按钮两次才能打开活动。permission
granted
我在应用程序的不同部分使用了相同的代码并且它工作正常,我不明白为什么在 Fragment 中它工作正常而在另一个它没有。
我也尝试过这样但不成功:
new RxPermissions(requireActivity()).request(Manifest.permission.CAMERA)
.subscribeOn(Schedulers.newThread())
.observeOn(Schedulers.computation())
.subscribe(aBoolean -> {
if (aBoolean) {
Intent packageReceiveIntent = new Intent(requireActivity(), ReceivePackageActivity.class);
requireActivity().startActivity(packageReceiveIntent);
}
});