迁移到 Expo 后 Java 运行时错误:无法传递结果

问题描述 投票:0回答:1

自从将我的应用程序迁移到 Expo 以来,我开始在 Crashlytics 中看到以下仅限 Android 的错误。

java.lang.RuntimeException:传递结果失败 ResultInfo{who=null, request=1638309729, result=-1, data=Intent { flg=0x1 Clip={image/* video/* U:content://media/external /file/695} }} 到活动 {MY-APP-SCHEME/MY-APP-SCHEME.MainAc

经过多次搜索,我似乎发现了一些类似的问题,我使用的是

expo-image-picker
,但据我所知,它已正确实现,并且需要所有权限。

我无法在模拟器或真实设备上复制此内容,我的团队也无法复制此内容。

如果有人对此有任何见解,将不胜感激。

一些额外的错误日志;

at android.app.ActivityThread.deliverResults(ActivityThread.java:5341)
       at android.app.ActivityThread.handleSendResult(ActivityThread.java:5380)
       at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:54)
       at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2247)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7886)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:568)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
Caused by java.lang.IllegalStateException: Already resumed
       at kotlin.coroutines.SafeContinuation.resumeWith(SafeContinuationJvm.kt:44)
       at expo.modules.kotlin.activityresult.AppContextActivityResultLauncher$launch$2$1.onActivityResult(AppContextActivityResultLauncher.kt:26)
       at expo.modules.kotlin.activityresult.AppContextActivityResultRegistry.doDispatch(AppContextActivityResultRegistry.kt:317)
       at expo.modules.kotlin.activityresult.AppContextActivityResultRegistry.dispatchResult(AppContextActivityResultRegistry.kt:295)
       at expo.modules.kotlin.activityresult.ActivityResultsManager.onActivityResult(ActivityResultsManager.kt:52)
       at expo.modules.kotlin.AppContext.onActivityResult$expo_modules_core_release(AppContext.kt:337)
       at expo.modules.kotlin.ReactLifecycleDelegate.onActivityResult(ReactLifecycleDelegate.kt:33)
       at com.facebook.react.bridge.ReactContext.onActivityResult(ReactContext.java:375)
       at com.facebook.react.ReactInstanceManager.onActivityResult(ReactInstanceManager.java:809)
       at com.facebook.react.ReactDelegate.onActivityResult(ReactDelegate.java:148)
       at com.facebook.react.ReactActivityDelegate.onActivityResult(ReactActivityDelegate.java:145)
       at expo.modules.ReactActivityDelegateWrapper.onActivityResult(ReactActivityDelegateWrapper.kt:223)
       at com.facebook.react.ReactActivity.onActivityResult(ReactActivity.java:70)
       at android.app.Activity.dispatchActivityResult(Activity.java:8381)
       at android.app.ActivityThread.deliverResults(ActivityThread.java:5334)
       at android.app.ActivityThread.handleSendResult(ActivityThread.java:5380)
       at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:54)
       at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2247)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7886)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:568)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
react-native expo crashlytics
1个回答
0
投票

我也遇到这个问题了

我的解决方案是我建立了一个状态。 当图像选择面板打开时,该按钮被禁用;当图像选择面板关闭时,该按钮被启用。所以不会出现这个问题

示例:

© www.soinside.com 2019 - 2024. All rights reserved.