2014-10-31 4 views
1

Я пользуюсь службой доступности, и, если я убью приложение от запущенных приложений, система убирает разрешение на доступ, явно указанное пользователем, и это заставляет меня снова запрашивать разрешение. Любое объяснение, почему это происходит, и некоторое решение, чтобы избежать этой проблемы.Служба специальных возможностей Android

+0

«снова заставляет меня запрашивать разрешение». Вы имеете в виду, что система снова отображает диалоговое окно «Вы уверены, что хотите включить»? В какой версии устройства/ОС это происходит? – alanv

+0

Я имел в виду, что разрешение убрано, и для моего приложения для работы мне нужно разрешение, поэтому я должен попросить пользователя снова дать мне разрешение, перейдя к настройкам доступности. Я тестировал его на 4.0, 4.2, 4.4 – dirtydexter

+0

У меня возникли проблемы с пониманием того, что вы имеете в виду, но похоже, что вы убиваете процесс обслуживания доступности. Что вы ожидаете, когда будете убивать сервисный процесс? – alanv

ответ

1

К сожалению, вы не можете предотвратить эту ситуацию, даже если вы перемещаете службу доступности в новый процесс.

При нажатии кнопки «Force Stop», то не убивают только процессы приложения, приложение перемещается в «остановил» состояние (Android 3.1 APIs), где ничто в приложение не будет работать, пока пользователь вручную не запустить приложение (например, с иконкой запуска). Из-за соображений безопасности служба доступности должна быть активирована пользователем вручную - ее нельзя запускать программно, что более равномерная система не перезапустит службу доступности, когда уходит «остановлено» состояние.

Также обратите внимание на проблему настроек Android. Иногда, после приложения «Force Stop», настройки Android показывают, что служба доступности доступна, но на самом деле она не работает.