У меня возникла проблема с AccessibilityService
. Когда я выключаю свое устройство, AccessibilityService
отвязывается, вызывая onUnbind
. Но когда я снова запускаю свое устройство, AccessibilityService
не перепривязывается и служба onRebind
не вызывается. Я проверил с помощью команды adb adb shell dumpsys activity service .MyPackage.AccessibilityService
и обнаружил, что моя служба работает, но не получает AccessibilityEvent
, так как служба не восстановлена. Все снова начинает работать нормально после того, как я остановлю и перезапущу свой AccessibilityService из настроек. Как я могу решить эту проблему..? Я думал об использовании disableself
в onUnbind
, потому что это заставит пользователя запускать службу из настроек, но этот вызов доступен из API 24
. И что я должен делать..?
AccessibilityService отсоединяется при выключении питания и не привязывается повторно после перезагрузки.
comment
На скольких устройствах возникает эта проблема?
- person PsyGik   schedule 15.09.2016
comment
Я протестировал свое приложение только на 2 устройствах: одно — Jellybean, которое создает проблему, другое — KitKat, которое большую часть времени работает нормально.
- person Shafin Abrar   schedule 15.09.2016
Ответы (1)
Я много искал и пробовал почти все, что можно было сделать. В конце концов я пришел к выводу, что это ошибка Android, так как эта проблема не возникает на API 19
или более поздних версиях. Другим разработчикам, страдающим от этой проблемы, я предлагаю использовать предпочтение для сохранения состояния вашего сервиса, rebinded
или нет. Теперь, прежде чем пытаться использовать свой сервис, проверьте, перепривязан ли ваш сервис или нет. Если нет, сообщите пользователю, что ему/ей придется перезапустить службу перед ее использованием.
Я предоставил более подробный ответ здесь. проверьте это, если вы все еще в замешательстве.
person
Shafin Abrar
schedule
18.09.2016