PermissionX
PermissionX copied to clipboard
An open source Android library that makes handling runtime permissions extremely easy.
版本:com.guolindev.permissionx:permissionx:1.6.4 java.lang.IllegalStateException: FragmentManager is already executing transactions at androidx.fragment.app.FragmentManager.ensureExecReady(FragmentManager.java:1931) at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1967) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:311) at com.permissionx.guolindev.request.PermissionBuilder.getInvisibleFragment(PermissionBuilder.kt:99) at com.permissionx.guolindev.request.PermissionBuilder.requestNow(PermissionBuilder.kt:427) at com.permissionx.guolindev.request.RequestNormalPermissions.request(RequestNormalPermissions.kt:53) at com.permissionx.guolindev.request.RequestChain.runTask$permissionx_release(RequestChain.kt:51) at com.permissionx.guolindev.request.PermissionBuilder.startRequest(PermissionBuilder.kt:537) at com.permissionx.guolindev.request.PermissionBuilder.request(PermissionBuilder.kt:287)
申请后台定位等特殊权限时,应该让用户允许拒绝。但是需要知道点击拒绝按钮,并弹出提示。 添加可供用户明确选择批准或拒绝授予访问权限的按钮。如果用户拒绝授予访问权限,并且这会限制应用体验,请务必告知他们日后如何更改偏好设置(这是Google Play要求的 现在没法监听按钮点击
If user deny to allow permission how to request again for permission..
应该是系统的问题,有啥好的解决方法呀
PermissionX.init(this).permissions(permissions) .request { allGranted, grantedList, deniedList -> if (allGranted) { showDialog() } else { toast("您拒绝了以下权限 $deniedList 可能会对您的正常使用造成影响") } } 拒绝一次之后allGranted就一直都是false
PermissionX版本号: 1.6.4 复现机型:三星 SM-G9500 复现步骤: APP申请了Manifest.permission.ACCESS_FINE_LOCATION、Manifest.permission.WRITE_EXTERNAL_STORAGE、Manifest.permission.READ_EXTERNAL_STORAGE、Manifest.permission.READ_PHONE_STATE这几个权限,弹出第一个授权时直接点击拒绝并回到手机桌面,之后再点击图标进入APP,Permissionx直接执行了request 方法 并且打印的数据结果为: ``` request:true [] [] false ```  测试代码: ``` PermissionX.init(this) .permissions(list) .onExplainRequestReason((scope, deniedList) -> { LogUtils.showLog(TAG, "onExplainRequestReason " + deniedList); scope.showRequestReasonDialog(deniedList, "需要开启相关权限",...
红米 android12 implementation 'com.guolindev.permissionx:permissionx:1.6.4' PermissionX.init(this) .permissions(permissions) .onExplainRequestReason(new ExplainReasonCallback() { @Override public void onExplainReason(@NonNull ExplainScope scope, @NonNull List deniedList) { String message = "需要您同意以下权限才能正常使用"; scope.showRequestReasonDialog(deniedList, message, "允许", "不允许"); } }).request(new RequestCallback()...