MediaProjection service type not recognized in android Q
Changing the following attributes
android:foregroundServiceType="mediaProjection"
tools:targetApi="q"
in AndroidManifest.xml worked for me.
< service
android:name="SERVICE_NAME"
android:foregroundServiceType="mediaProjection"
tools:targetApi="q"
android:enabled="true"
android:exported="false" />
Don't you forget to add permission <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
into AndroidManifest.xml
?
UPDATE
Make sure you call startForeground()
before getMediaProjection()
!
The best solution is to call startForeground()
from onCreate()
without any conditions, displaying some sort of default messages in notification. Then you can execute your logic and call NotificationManager.notify()
with updated notification at any time.