как запретить пользователю принудительно останавливать сервис в андроиде? - PullRequest
2 голосов
/ 07 февраля 2012

У меня есть требование, что я хочу, чтобы сервис непрерывно работал в backgroud, и он не может быть первым пользователем или не может быть принудительно остановлен при входе в приложение управления. Есть ли способ получить уведомление, когда пользователь пытается принудительно остановить службу? или любой способ скрыть наше приложение в Android.

Я сделал START_STICKY, но это не может работать. может быть возможно написать наш код на системных службах Android (или системный код), которые не могут быть уничтожены, или кодирование на уровне ядра?

мой главный критерий - мой сервис не может быть убит пользователем

, пожалуйста, помогите мне в этом

заранее спасибо

1 Ответ

2 голосов
/ 08 февраля 2012

Прежде всего, процесс, в котором размещается служба, всегда может быть прерван системой, если он находится в ситуации нехватки памяти. Ваш сервис даже не заметит, что он был убит, он даже не попадет на Дестрой (). Если ваш сервис делает что-то, о чем конечный пользователь непосредственно знает (например, воспроизводит музыку), вы должны запустить сервис на переднем плане (используя startForeground), чтобы снизить вероятность того, что система убьет его в ситуации нехватки памяти.

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

Сказав это, то, что вы хотите сделать, не возможно, по замыслу. Либо ваши критерии основаны на некотором непонимании того, как работает Android, либо ваше приложение должно делать то, что оно хочет скрыть от конечного пользователя (что очень сомнительно).

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