Служба специальных возможностей Android

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


person dirtydexter    schedule 31.10.2014    source источник
comment
заставляет меня снова запрашивать разрешение. Вы имеете в виду, что система отображает диалоговое окно. Вы уверены, что хотите снова включить диалоговое окно? На каком устройстве/версии ОС это происходит?   -  person alanv    schedule 03.11.2014
comment
Я имел в виду, что разрешение убрано, и для работы моего приложения мне нужно разрешение, поэтому я должен попросить пользователя снова дать мне разрешение, перейдя в настройки специальных возможностей. Пробовал на 4.0, 4.2, 4.4.   -  person dirtydexter    schedule 03.11.2014
comment
Мне трудно понять, что именно вы имеете в виду, но похоже, что вы убиваете процесс службы специальных возможностей. Что, по-вашему, произойдет, когда вы убьете сервисный процесс?   -  person alanv    schedule 03.11.2014
comment
Я ожидаю, что если парень использует какой-то диспетчер задач, который убивает процесс службы специальных возможностей, он должен просто убить процесс своим побочным эффектом, который заключается в том, что разрешение также отзывается у моей службы.   -  person dirtydexter    schedule 03.11.2014


Ответы (1)


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

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

Пожалуйста, имейте в виду проблему с настройками Android. Иногда после приложения «Принудительная остановка» в настройках Android отображается, что Служба специальных возможностей включена, но на самом деле она не работает.

person MikePtr    schedule 18.08.2016