如何在Android Manifest中正确配置多个无障碍服务类?
解决Android无障碍服务多类配置的标签错误
你犯的核心错误是把两个服务类写在了同一个<service>标签的android:name属性里,Android的Manifest配置中,每个无障碍服务都需要单独声明一个完整的<service>节点——每个服务都是独立的组件,不能合并在同一个标签里。
正确的配置写法应该是这样:
<!-- 第一个无障碍服务 --> <service android:name=".ClassGen1" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" android:persistent="true"> <intent-filter> <action android:name="android.accessibilityservice.AccessibilityService" /> </intent-filter> <!-- 若需自定义服务配置,添加对应meta-data --> <meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibility_config1" /> </service> <!-- 第二个无障碍服务 --> <service android:name=".ClassGen2" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" android:persistent="true"> <intent-filter> <action android:name="android.accessibilityservice.AccessibilityService" /> </intent-filter> <meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibility_config2" /> </service>
注意:如果你的无障碍服务需要自定义监听规则、目标包名等配置,每个服务都要对应单独的meta-data配置文件,不能共用。
内容的提问来源于stack exchange,提问作者shohel hossain
相关产品推荐
相关产品推荐

