Приложение показывает две службы доступности, хотя только одна зарегистрирована в манифесте - PullRequest
0 голосов
/ 17 января 2019

У меня есть приложение, которое регистрирует службу доступности в AndroidManifest.xml следующим образом:

<service android:name="com.package.MyAccessibilityService"
        android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
        android:enabled="@bool/is_lollipop_and_above"
        android:exported="false">
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService"/>
        </intent-filter>
        <meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibilityservice" />
</service>

Мой accessibilityservice.xml выглядит так:

<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
    android:accessibilityFeedbackType="feedbackGeneric"
    android:accessibilityFlags="flagDefault|flagReportViewIds"
    android:canRetrieveWindowContent="true"
    android:description="@string/accessibility_description"/>

Это работает нормально, но когда я захожу в настройки доступности Android, я вижу две версии службы моего приложения:

enter image description here

У первого нет описания, и его включение / выключение, похоже, никак не влияет на поведение моего приложения.

Если я отключу службу, закомментировав ее в файле манифеста, служба без описания все равно останется:

enter image description here

Я не уверен, что будет причиной этого. Я попытался найти весь свой проект и закомментировать все теги <service>, а дублированный пустой сервис все еще сохраняется. Это проблема, потому что пользователи моего приложения направляют эту службу на включение, но всегда есть две службы, которые выглядят одинаково, и только одна из них работает для включения моей функциональности доступности. Есть идеи, в чем может быть проблема?

1 Ответ

0 голосов
/ 25 января 2019

Оказывается, одна из зависимостей, включенных в мой проект, была привязана к службе доступности. Решение состоит в том, чтобы либо удалить зависимость, либо отредактировать зависимость, если вы являетесь автором и не хотите использовать там службу специальных возможностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...