Action Required: Your app is not compliant with Google Play Policies

Hello everyone,

yesterday I updated my app using nb202 and then uploaded it to the Google Play Store.
Today I received an email from Google with the following content:

I suspect it's because of the screen "bilder" during initialization.

What do I need to do to get Google to accept my app on Android 10 to Android 16?

And what's the "Android photo picker" all about?

Best regards and thank you

Frank

Hello community,

I've found the solution that leads to acceptance on the Google Play Store:

The question that remains for me is which permissions are actually necessary. Can anyone help me with that?

Regards, Frank

I am surprised no-one has answered this yet...

In addition to removing read media image and video permission you should Switch to the Android Photo Picker

If you just need users to pick/upload a photo or video, don’t request storage permissions.

Use the Photo Picker API (Android 13+) or ACTION_OPEN_DOCUMENT (for older Android).

Thanks TimAI2 and sol_roll for addressing my issue.

I need images from the camera or the gallery in my app.

I use the following procedure:

Is this Android photo picker compliant?
Or is something else meant?

I'd like to repeat my question about the permissions. Are the permissions okay for Android under 30, or should they be changed?

Greetings and thanks,
Frank

Are you trying to pick the photo you have just taken ? If so, use the AfterPictureTaken event, that provides the file path.

Me..., I would use SAF to avoid permissions issues

Hello TimAI2,

I use the following event:

On my phone with Android 15 this also works with pictures from the camera as well as from the gallery.

Should I change anything else in the permissions?

Frank

Where do you find directory global PfadBilder ? (Where is it located ?)
What is your filescope ?

Hello TimAI2,

global PfadBilder is located in the ASD , in the folder Pictures.

DefaultFileScope is Legacy.

Is this the correct way to specify permissions starting with SDK 35?

Frank

Not the expert on this, but it looks wrong, unless you are passing an absolute path to your folder in the ASD?

You only need WriteExternalStorage because this implies ReadExternalStorage.

See also here: Some basics on Android storage system

Hello Anke,

thank you for the explanations.

I still don't quite understand it.

Especially this statement:

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:maxSdkVersion="29" android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

So do I no longer need to set any permissions for Android versions 10 to 16, since the READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE permissions are already set by filescope=legacy?

Frank

no
there is a difference between declaring the permissions in the manifest and asking for that permissions
and whithout these declarations you are not able to ask for those permissions

Taifun

As I mentioned before, as of May 2025, you can no longer declare READ_MEDIA_IMAGES in the manifest and therefore also no longer request it. This means that on Android 13+, it is no longer possible to use (request) this permission. On Android 11 and 12, you can request READ_EXTERNAL_STORAGE permission if you want to access images that were not created by the app itself. On Android < 11, you basically need READ_EXTERNAL_STORAGE to access app-owned or non-app-owned images. If you want to access images created by the app itself, you generally do not need to request storage permissions on Android 11+.

Thanks Anke for the explanation.

And what about Android 13+?

Is the READ_EXTERNAL_STORAGE permission also required for me to copy images from the camera or pick them from the gallery, as shown in my post 5?

Note: The images are then saved in the app’s ASD.

Frank

For the ASD you do not need storage permission since Android 4.4 (API 19, KitKat).