Opened 2 months ago

Last modified 2 months ago

#11753 new defect

BACKENDS: ANDROID (10+ / API 29+) - external storage is no longer browsable

Reported by: antoniou79 Owned by:
Priority: high Component: Port: Android
Keywords: API 29, Android 10, Android 11, File access, External Storage, Scoped Storage Cc:
Game:

Description

Starting November 2nd 2020 all app updates on the Play Store must target API 29 or higher (https://developer.android.com/distribute/best-practices/develop/target-sdk):

Note: From 2 November 2020, app updates must target Android 10 (API level 29) or higher.

However:

My current physical devices go only up to API level 28. I can only test on emulated devices for higher API level, but this is not as fast and it's kind of harder to catch such issues.

For example, I have set up a Android x86 emulated device running on API 30 (Android 10.0+) but the folders in the emulated SD Card can be seen (unlike the screenshots provided by forum member Vince). However, their contents are not listed and choosing a valid game folder does not result in adding the game but rather to the error "ScummVM could not find any game in the specified directory!"

For the moment we're back to targeting API 28 (Android 9). This is set in build.gradle as "targetSdkVersion"

References I found for figuring out a possible solution:
https://developer.android.com/about/versions/10/privacy/changes
https://developer.android.com/about/versions/11/privacy/storage
https://www.raywenderlich.com/9577211-scoped-storage-in-android-10-getting-started
https://developer.android.com/training/data-storage#scoped-storage
https://android.jlelse.eu/handling-files-in-code-after-the-android-10-released-2bea0e16d35
https://stackoverflow.com/questions/57449242/android-q-10-ask-permission-to-get-access-all-storage-scoped-storage

Attachments (2)

Change History (3)

comment:1 by raziel-, 2 months ago

Summary: ANDROID: On Android 10+ (API 29+) external storage is no longer browsableBACKENDS: ANDROID (10+ / API 29+) - external storage is no longer browsable
Note: See TracTickets for help on using tickets.