2014-01-27 4 views
0

У меня есть приложение для Android, в котором есть активность и услуга. Я хочу, чтобы сервис запускался при загрузке. Я бы использовал активность, чтобы дать пользователю пользовательский интерфейс для настройки определенных параметров и запуска службы. Я хочу, чтобы служба запускалась во время загрузки. Я знаю, что могу это сделать this способом.Перезапустите услугу

Теперь у меня есть два вопроса, связанные с этим:

  1. служба всегда будет запускаться при загрузке системы. Но что, если я хочу остановить это. Могу ли я сделать это в этой операции, просто вызвав stopService()? (Нужно, так как предположим, что пользователь хочет изменить параметры работающего сервиса.)
  2. Если я устанавливаю более новую версию приложения, которая может иметь несколько изменений в класс обслуживания, автоматически ли он остановит службу и заменит ее новым?

ответ

0

Добавить BroadcastReceiver в службе, как вы слушаете BOOT_COMPLETED вещания, то вы можете отправить индивидуальные трансляции в вашей визуальной активности, чтобы сделать остановку службы.
Таким образом, вы также можете перезапустить службу, просто закончить ее и запустить новую.

+0

Итак, stopService() не остановит обслуживание? И, установив новую версию приложения, не следует ли ее автоматически перезагружать и заменять службу? Если нет, то это не проблема в андроиде? – rahulserver

1

stopService остановит ваше обслуживание, предположив, что вы вызвали правильный сервис (если у вас только 1, то он будет работать). И это необходимо именно для того, чтобы спросить, если параметры меняются, вам нужно запустить/остановить службу.

Å обновление новой версии автоматически остановит обслуживание. После JB служба не будет автоматически перезагружаться, пока пользователь не откроет ваше приложение даже при перезагрузке. Это по соображениям безопасности.

+0

Именно так я и думал. Отметьте как ответ после давать try.Thanks !! – rahulserver

Смежные вопросы