Android Accessbility Service TakeScreenshot 获取异常:java.lang.SecurityException:服务没有截图的能力

Android Accessbility Service TakeScreenshot get exception: java.lang.SecurityException: Services don't have the capability of taking the screenshot

AccessbilityService 中的以下代码 运行 出现异常。 Android API 30 级 (Android 11)

它没有命中回调,也没有命中“onSuccess”或“onFailure”。只是在调用takeScreenshot函数时抛出异常。

我是否错过了任何权限? 有什么想法吗?非常感谢~

异常:

2022-01-29 13:38:53.026 26433-26433/com.example.st E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.spinstar, PID: 26433
java.lang.SecurityException: Services don't have the capability of taking the screenshot.
    at android.os.Parcel.createExceptionOrNull(Parcel.java:2376)
    at android.os.Parcel.createException(Parcel.java:2360)
    at android.os.Parcel.readException(Parcel.java:2343)
    at android.os.Parcel.readException(Parcel.java:2285)
    at android.accessibilityservice.IAccessibilityServiceConnection$Stub$Proxy.takeScreenshot(IAccessibilityServiceConnection.java:1564)
    at android.accessibilityservice.AccessibilityService.takeScreenshot(AccessibilityService.java:2042)

你应该添加

android:canTakeScreenshot="true"

给你的

accessibility_service_config.xml

在 Android 11+(API 30+ 级)。阅读更多 here