ScreenRecordHelper
ScreenRecordHelper copied to clipboard
SecurityException
26883-26883/com.nanchen.screenrecorder E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.nanchen.screenrecorder, PID: 26883
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1024, result=-1, data=Intent { (has extras) }} to activity {com.nanchen.screenrecorder/com.nanchen.screenrecorder.MainActivity}: java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
at android.app.ActivityThread.deliverResults(ActivityThread.java:4845)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
at android.os.Parcel.createException(Parcel.java:2071)
at android.os.Parcel.readException(Parcel.java:2039)
at android.os.Parcel.readException(Parcel.java:1987)
at android.media.projection.IMediaProjection$Stub$Proxy.start(IMediaProjection.java:231)
at android.media.projection.MediaProjection.
target API: Android10
add permission uses-permission android:name="android.permission.FOREGROUND_SERVICE"
Source: https://stackoverflow.com/a/57186064
You would need WRITE_EXTERNAL_STORAGE, WRITE_INTERNAL_STORAGE and RECORD_AUDIO
I added permission(uses-permission android:name="android.permission.FOREGROUND_SERVICE")
but same issue....
This is a problem when targetSdkVersion 29 and android10
需要适配android 10 android 10启动录屏必须在前台服务中启动才可以