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 userDetails:
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?