Qt Quick Android:如何集成无障碍服务

Qt Quick Android : How to integrate an Accessibility Service

我正在开发 Android 应用程序,该应用程序 运行 是一项辅助功能服务。我在 Android Studio 中开发了服务 java class 和配置 xml 文件,以将其作为本机应用程序进行测试。当我 运行 它时,辅助功能服务会按预期出现在 Android 辅助功能设置中,我可以启用它。

但是我想将此服务集成到 Qt Quick Android 应用程序中。当我通过添加相同的 java class、清单和配置 xml 文件来执行此操作时,项目编译和 运行s 很好,但服务没有出现在 Android 设置。

这是我的配置文件:

Manifest.xml:

<activity
...
</activity>
<service android:name="com.myCompany.app.MyService"
         android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService"/>
        </intent-filter>
        <meta-data android:name="android.accessibilityservice"/>
        <meta-data android:resource="@xml/accessibilityservice"/>
</service>

accessiblityservice.xml:

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service
xmlns:tools="http://schemas.android.com/tools"
android:accessibilityEventTypes="typeWindowStateChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagIncludeNotImportantViews"
xmlns:android="http://schemas.android.com/apk/res/android"
tools:ignore="UnusedAttribute"/>

谁能告诉我哪里错了?

我自己发现了错误。在 manifest.xml 中,元数据标签应该在一行中,如下所示:

<activity>
...
</activity>
<service android:name="com.myCompany.app.MyService"
         android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService"/>
        </intent-filter>
        <meta-data android:name="android.accessibilityservice"
                   android:resource="@xml/accessibilityservice"/>
</service>