SecurityException:以 mediaProjection 类型启动 FGS (Android 14)

问题描述 投票:0回答:1

自从瞄准 SDK 34 (Android 14) 以来,我在 Android 14 上看到了一些崩溃(尽管 Android 14 用户中的一小部分):

java.lang.SecurityException: Starting FGS with type mediaProjection callerApp=ProcessRecord{44a8006 6938:com.foo/u0a6} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION] any of the permissions allOf=false [android.permission.CAPTURE_VIDEO_OUTPUT, android:project_media] 
       at android.os.Parcel.createExceptionOrNull(Parcel.java:3069)
       at android.os.Parcel.createException(Parcel.java:3053)
       at android.os.Parcel.readException(Parcel.java:3036)
       at android.os.Parcel.readException(Parcel.java:2978)
       at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:7214)
       at android.app.Service.startForeground(Service.java:775)
       at com.foo.FooService.onStartCommand(FooService.java:28)

到目前为止,仅适用于 Galaxy A13 和 A72。

这可能是什么原因造成的?

android android-permissions android-mediaprojection
1个回答
0
投票

我也遇到了这个问题,因此,为了解决它,首先我在 AndroidManifest.xml 文件中添加了以下权限:

<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />`

然后我必须添加此权限并将其标记为签名权限:

uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"   
android:protectionLevel="signature"
tools:ignore="ProtectedPermissions" />
© www.soinside.com 2019 - 2024. All rights reserved.