Justin Xu
05/10/2023, 7:06 AMmoko-media
and moko-permissions
in Compose Multiplatform to open the gallery and select a photo. However, I'm getting a dev.icerock.moko.permissions.DeniedAlwaysException
error when I call the following code:
val mediaFactory = rememberMediaPickerControllerFactory()
val picker = remember(mediaFactory) {
mediaFactory.createMediaPickerController()
}
val coroutineScope = rememberCoroutineScope()
BindMediaPickerEffect(picker)
...
coroutineScope.launch {
picker.permissionsController.providePermission(Permission.GALLERY)
if (picker.permissionsController.isPermissionGranted(Permission.GALLERY)) {
setProfilePictureBitmap(picker.pickImage(MediaSource.GALLERY))
}
...
}
I check my app details on the emulator and it says that Photos and Videos are allowed, not sure what the cause of the issue is. Full error details in repliesdev.icerock.moko.permissions.DeniedAlwaysException
at dev.icerock.moko.permissions.ResolverFragment.requestPermissionLauncher$lambda$1(ResolverFragment.kt:47)
at dev.icerock.moko.permissions.ResolverFragment.$r8$lambda$xVWh1OMY-jV8sGm90Z_Lnoc0rAA(Unknown Source:0)
at dev.icerock.moko.permissions.ResolverFragment$$ExternalSyntheticLambda0.onActivityResult(Unknown Source:4)
at androidx.activity.result.ActivityResultRegistry.doDispatch(ActivityResultRegistry.java:418)
at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:375)
at androidx.activity.ComponentActivity.onRequestPermissionsResult(ComponentActivity.java:844)
at androidx.fragment.app.FragmentActivity.onRequestPermissionsResult(FragmentActivity.java:490)
at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:8774)
at android.app.Activity.dispatchActivityResult(Activity.java:8632)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5316)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5362)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:67)
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:2307)
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:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@c23aafc, androidx.compose.runtime.BroadcastFrameClock@430c585, StandaloneCoroutine{Cancelling}@ed0cfda, AndroidUiDispatcher@ad91c0b]
ephemient
05/10/2023, 7:42 AMJustin Xu
05/10/2023, 10:00 AMalex009
05/12/2023, 5:47 AMJustin Xu
05/12/2023, 11:20 PMalex009
05/16/2023, 8:20 AMJustin Xu
05/16/2023, 7:36 PM