Локальная служба или удаленный сервис?

У меня есть фоновый Сервис, который должен работать постоянно. Сервис просто должен взаимодействовать с моим Действием.

  1. Как я проверяю резюме действия, если услуга все еще работает? Существует ли лучшая возможность, чем статическая переменная в классе обслуживания?

  2. Это имеет преимущество для использования удаленного сервиса в отдельном процессе (для расширения времени срока службы) так, чтобы, когда процесс действия уничтожается, сервис был все еще жив?

5
задан rekire 5 May 2012 в 13:38
поделиться

2 ответа

У меня есть фоновая служба, которая должна работать постоянно.

Это невозможно . Пользователь или Android в какой-то момент отключат вашу службу. Пожалуйста, пересмотрите свою архитектуру.

Как проверить возобновление активности, если служба все еще работает?

Как правило, нет.

Есть ли лучшая возможность, чем статическая переменная в классе обслуживания?

Это не сработает, если пользователь или Android отключит вашу службу.

Выгодно ли использовать пульт? услугу в отдельном процессе (чтобы продлить срок службы), чтобы при процесс активности прекращается служба все еще жива?

Удаленная служба не имеет никакого отношения к тому, запускается ли служба после уничтожения действий. Если вы вызовете startService () , служба будет работать независимо от каких-либо действий, пока:

  • вы не вызовете stopService () из операции
  • , служба вызовет stopSelf ()
  • Android завершает работу службы
  • пользователь завершает работу службы через приложение настроек
  • пользователь завершает работу службы с помощью «убийцы задач» (Android 2.1 и ранее, по крайней мере)
7
ответ дан 18 December 2019 в 14:41
поделиться

Почему вы хотите знать, запущена ли Служба? Если вам что-то от него нужно, просто бросьте Intent , и если он не запущен, он запустится по намерению.

В связи со вторым вопросом:

Ваш сервис не «умрет», когда ваша деятельность закроется.

3
ответ дан 18 December 2019 в 14:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: