App update rejected due to Foreground service permissions

I am using the Meeting SDK (v5.17.1.18530) to create a custom UI app.

The app is built targeting SDK 34 (Android 14), so Google needs specific information about how the app uses foreground services.

Google rejected the latest app update because I need to provide more information about the foreground service.

Violation:
Permissions for Foreground Services: Functionality is not initiated by or perceptible to the user

Details:
We found that one or more of the declared use cases is not compliant with how foreground service permission is allowed to be used. Specifically, the user is not made aware of functionality requiring permission when active.

  • Use of FGS is not perceptible to the user when performing Media Playback - Media Playback, Media Projection - Media and Content Projection and Streaming functionality.

Google is asking me for a video that shows how my application uses the following features in the foreground service.

android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION
android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK

They are added to my app by Zoom Meeting SDK for ScreenShareServiceForSDK

Unfortunately, I do not use the Zoom sdk screen sharing feature in my application, so I cannot provide a video.

I have tried to remove FOREGROUND_SERVICE_MEDIA_PROJECTION and FOREGROUND_SERVICE_MEDIA_PLAYBACK from my app manifest but in this case my app crashes on Android 14 due to SecurityException starting FGS with type mediaPlayback. It happens at the start of the Zoom meeting.

Fatal Exception: java.lang.RuntimeException
Unable to create service com.zipow.videobox.share.ScreenShareServiceForSDK: java.lang.SecurityException: Starting FGS with type mediaPlayback callerApp=ProcessRecord{d0c5093 11843:my.app/u0a416} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK]

with the following callstack:

Fatal Exception: java.lang.RuntimeException: Unable to create service com.zipow.videobox.share.ScreenShareServiceForSDK: java.lang.SecurityException: Starting FGS with type mediaPlayback callerApp=ProcessRecord{d0c5093 11843:my.app/u0a416} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK]
at android.app.ActivityThread.handleCreateService(ActivityThread.java:5111)
at android.app.ActivityThread.-$$Nest$mhandleCreateService()
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2506)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8893)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)

How can I proceed?
Can I configure the Zoom sdk for starting the Zoom meeting foreground service without the SERVICE_MEDIA_PROJECTION and MEDIA_PLAYBACK types?

1 Like

I facing same issue

can some one please explain why need these permissions

Same issues here.
We cannot update our App on Google Play Store because of the issue.
Any work around?

I haven’t found a real workaround yet, but in the meantime I’ve rolled back my app to target SDK 33, but keep compiling SDK 34. This way, I can minimize the changes required to roll back to the previous version of the target SDK.

buildToolsVersion = '34.0.0'

compileSdk 34

targetSdk 33

This way I can bypass the foreground services check that is only required for Target SDK 34.

I am not sure, but it seems that the 5.17.x Meeting Zoom SDK is not really compatible with Target SDK 34, even though it has been declared Android 14 ready.

I’m also facing the same issue
but for videosdk

I had the same issue with meeting SDK. It would be nice if the Zoom team made a page that declares why Zoom SDKs use those permissions so I can explain it to the Google Play team. I had been rejected many times before with the same issues relevant to permissions required by Zoom SDK

Hi everyone,

Thanks for the post. These permissions are required for screen sharing and Bluetooth audio devices. Here is the explanation of each permission:

FOREGROUND_SERVICE_MICROPHONE : Allow the capability to receive audio when the app is put in the background

FOREGROUND_SERVICE_MEDIA_PLAYBACK: Allow the capability to share audio while screen sharing

FOREGROUND_SERVICE_MEDIA_PROJECTION: Allow the capability to project the screen while screen sharing

FOREGROUND_SERVICE_CONNECTED_DEVICE: Allow the capability to use Bluetooth device as the audio source

FOREGROUND_SERVICE_PHONE_CALL: Allow the capability to use Bluetooth device for the meeting call

Hope this helps. Thank you!

1 Like

Google asks me a video of my app using capability to share audio while screen sharing and a video of my app using capability to project the screen while screen sharing.

Unfortunately, my application does not implement (use) these features of the Zoom Meeting SDK, so I cannot provide a video showing how my application uses it in the foreground service.

These videos are required to publish an application targeting SDK 34.

How can I prevent the Zoom Meeting SDK from launching foreground services that use the following features?
FOREGROUND_SERVICE_MEDIA_PLAYBACK
FOREGROUND_SERVICE_MEDIA_PROJECTION
FOREGROUND_SERVICE_PHONE_CALL

I see that a new version of Zoom Meeting SDK has just been released ( 5.17.10).

The release note says that it fixes some issues related to SDK34.
https://developers.zoom.us/changelog/meeting-sdk/android/5.17.10/

Does it also fix this app publishing issue?