getActivity / XXPermissions

Android 权限请求框架,已适配 Android 14
Apache License 2.0
5.53k stars 748 forks source link

[Bug]:按照代码中的错误来申请,提示报错 #295

Closed AdminQQZ closed 3 weeks ago

AdminQQZ commented 3 weeks ago

框架版本【必填】

18.63

问题描述【必填】

按照错误提示申请权限,报错

复现步骤【必填】

// 启动二维码扫描 XXPermissions.with(context).permission( Permission.READ_MEDIA_IMAGES, Permission.READ_MEDIA_VIDEO, Permission.READ_MEDIA_AUDIO, Permission.READ_EXTERNAL_STORAGE, ).request { permissions, allGranted ->

            }

                   执行这段

                   报错 

                   java.lang.IllegalArgumentException: When targetSdkVersion >= 33 should use android.permission.READ_MEDIA_IMAGES, android.permission.READ_MEDIA_VIDEO, android.permission.READ_MEDIA_AUDIO instead of android.permission.READ_EXTERNAL_STORAGE

是否必现【必填】

未选择

项目 targetSdkVersion【必填】

34

出现问题的手机信息【必填】

huawei

出现问题的安卓版本【必填】

34

问题信息的来源渠道【必填】

No response

是部分机型还是所有机型都会出现【必答】

huawei

框架最新的版本是否存在这个问题【必答】

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

是否可以通过 Demo 来复现该问题【必答】

提供报错堆栈

W  Accessing hidden method Landroid/content/ContextWrapper;->getDisplay()Landroid/view/Display; (greylist, linking, allowed)
2024-06-04 11:59:40.631 26220-26220 AndroidRuntime          com.app.jetpack                      E  FATAL EXCEPTION: main
                                                                                                    Process: com.app.jetpack, PID: 26220
                                                                                                    java.lang.IllegalArgumentException: When targetSdkVersion >= 33 should use android.permission.READ_MEDIA_IMAGES, android.permission.READ_MEDIA_VIDEO, android.permission.READ_MEDIA_AUDIO instead of android.permission.READ_EXTERNAL_STORAGE
                                                                                                        at com.hjq.permissions.PermissionChecker.checkStoragePermission(PermissionChecker.java:173)
                                                                                                        at com.hjq.permissions.XXPermissions.request(XXPermissions.java:184)
                                                                                                        at com.app.live.feature.splash.SplashRouterKt$SplashScreen$1$4$1.invoke(SplashRouter.kt:165)
                                                                                                        at com.app.live.feature.splash.SplashRouterKt$SplashScreen$1$4$1.invoke(SplashRouter.kt:156)
                                                                                                        at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke-k-4lQ0M(Clickable.kt:987)
                                                                                                        at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:981)
                                                                                                        at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:255)
                                                                                                        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                        at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:179)
                                                                                                        at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:168)
                                                                                                        at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
                                                                                                        at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
                                                                                                        at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
                                                                                                        at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
                                                                                                        at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:665)
                                                                                                        at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:544)
                                                                                                        at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:566)
                                                                                                        at androidx.compose.foundation.AbstractClickablePointerInputNode.onPointerEvent-H0pRuoY(Clickable.kt:947)
                                                                                                        at androidx.compose.foundation.AbstractClickableNode.onPointerEvent-H0pRuoY(Clickable.kt:795)
                                                                                                        at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:317)
                                                                                                        at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
                                                                                                        at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:185)
                                                                                                        at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:104)
                                                                                                        at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:113)
                                                                                                        at androidx.compose.ui.platform.AndroidComposeView.sendMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1576)
                                                                                                        at androidx.compose.ui.platform.AndroidComposeView.handleMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1527)
                                                                                                        at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(AndroidComposeView.android.kt:1466)
                                                                                                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3249)
                                                                                                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2938)
                                                                                                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3249)
                                                                                                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2938)
                                                                                                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3249)
                                                                                                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2938)
                                                                                                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3249)
                                                                                                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2938)
                                                                                                        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:757)
                                                                                                        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:2013)
                                                                                                        at android.app.Activity.dispatchTouchEvent(Activity.java:4180)
                                                                                                        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:693)
2024-06-04 11:59:40.632 26220-26220 AndroidRuntime          com.app.jetpack                      E      at android.view.View.dispatchPointerEvent(View.java:13962)
                                                                                                        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6442)
                                                                                                        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6237)
                                                                                                        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5626)
                                                                                                        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5679)
                                                                                                        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5645)
                                                                                                        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5803)
                                                                                                        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5653)
                                                                                                        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5860)
                                                                                                        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5626)
                                                                                                        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5679)
                                                                                                        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5645)
                                                                                                        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5653)
                                                                                                        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5626)
                                                                                                        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8732)
                                                                                                        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8652)
                                                                                                        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8605)
                                                                                                        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8992)
                                                                                                        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:239)
                                                                                                        at android.os.MessageQueue.nativePollOnce(Native Method)
                                                                                                        at android.os.MessageQueue.next(MessageQueue.java:363)
                                                                                                        at android.os.Looper.loop(Looper.java:176)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8676)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
                                                                                                        Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@a8d369c, androidx.compose.runtime.BroadcastFrameClock@d6bf8a5, StandaloneCoroutine{Cancelling}@159547a, AndroidUiDispatcher@b22542b]
2024-06-04 11:59:40.661 26220-26220 Process                 com.app.jetpack                      I  Sending signal. PID: 26220 SIG: 9

提供截图或视频

image

提供解决方案

No response

getActivity commented 3 weeks ago

小伙子,目前此 issue 打回,原因如下:

请重新提交 issue,并且严格按照 issue 模板填写