Error 908:read external storage

good morning everyone, I have an app connected to cloudinary through which I upload photos and then when I open the app all the photos are displayed one under the other.
While on android 11 everything works on android 16 I get the error 909 READ EXTERNAL STORAGE.
I read a bit on the forum but I couldn’t find anything that helped me.
Can someone help me please?
Thanks

1 Like

even upload requires permission and no longer works

When exactly do you get the error?
Show us the blocks about how you display the photos and an example path to one of the photos

See also Kodular Bugs Tracker

Taifun

The issue you’re facing is due to changes in Android’s permission model starting from Android 13 (API 33) and above.

In Android 11 and below, READ_EXTERNAL_STORAGE was enough. However, starting from Android 13 (Android 16 in Kodular), accessing media files requires new scoped permissions based on file type:

If your app only handles photos, you should request the new permission:

android.permission.READ_MEDIA_IMAGES

You no longer need to request READ_EXTERNAL_STORAGE on Android 13+, and it won’t work as expected.

To confirm it’s a permission issue, try uploading and displaying a photo that’s already bundled with the app (from assets). If that works, the issue is definitely permission-related.

Thank you @bodymindpower , I now added that bug to the bug tracker, so probably one day someone will fix it

Taifun

these are the screen blocks where I view the images


as soon as you launch the app it goes to the home screen which should display the images located on cloudinary

these are the upload blocks where I upload photos to cloudinary

Sorry, so since I have Android 16 on my device, do I have to request permissions or not?
I don’t quite understand, sorry.

Yes — since your device is running Android 16 (or Android 13+ / API 33+), your app does need to request permission, but not the old one (READ_EXTERNAL_STORAGE).

Instead, for photos, you must request this new permission:

:backhand_index_pointing_right: READ_MEDIA_IMAGES


So, to make it clear:

  • :cross_mark: READ_EXTERNAL_STORAGEwon’t work anymore on Android 13+
  • :white_check_mark: READ_MEDIA_IMAGESmust be used if you want to access photos

READ_EXTERNAL_STORAGE, it will fail on Android 13+ devices.

Also read here SAF: App Inventor implementation of Storage Access Framework

This mighty be helpful Access non-media and media files on Android 11+

If i make it clear mark it as solution


Since you’re using the built-in Image Picker and your device is on **Android 16 **, here’s what’s happening:

:white_check_mark: On Android 11 and below → READ_EXTERNAL_STORAGE was enough
:cross_mark: On Android 13+ (like your device) → That permission no longer works, and apps must request new permissions based on file type.

For images, the system now requires:

:backhand_index_pointing_right: READ_MEDIA_IMAGES

But unfortunately, Kodular’s built-in Image Picker hasn’t been fully updated to request this new permission. That’s why you get the error 909: READ_EXTERNAL_STORAGE — it’s asking for an old permission and Android 13+ ignores.

  1. Temporarily try your app on a device running Android 11 or below — it should work fine.

  2. On Android 13+, the only fix is:

    • Use a custom extension that requests the new permission properly

Hope this clears it up! :blush:

Is it enough to insert this anywhere in the program? Or does it have to be placed in a specific part?

is this the block i should use?

READ_MEDIA_IMAGES) must be placed at the start of the app — usually on Screen1.Initialize or just before the user picks an image.

Also don’t use image picker, i won’t work

Which files do you want to access, only photos ? i can generate a free simple extension for you​:grin:

Yes, I only want access to the photos.
If you make an extension just for me, I wish you all the best for life, thank you.

Give some minutes