Since migrating my app to Expo I have started seeing the following Android only error in Crashlytics.
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1638309729, result=-1, data=Intent { flg=0x1 clip={image/* video/* U:content://media/external/file/695} }} to activity {MY-APP-SCHEME/MY-APP-SCHEME.MainAc
After much searching I have seem some similar issues being down to expo-image-picker, which I use, but as far as I can tell it is implemented correctly and all permissions are asked for.
I have been unable to replicate this on either a simulator or real device, and neither have any of my team.
If anyone has any insight into this that would be greatly appreciated.
Some additional error logs;
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)