У меня странная ситуация, когда созданная служба останавливается - иногда. У меня есть запись Activity A, которая запускает службу, используя bindService
// if we now have an IP address then bind ourselves to the MessageService
bindService(new Intent(this, MessagingService.class),
onMessageService,
BIND_AUTO_CREATE);
MessageService обрабатывает потоки Чтение и Отправка для обработки трафика сообщений с приложением. В основном он обрабатывает новые сообщения с интервалом в 1 секунду, используя StatusTask, а таймер - timer.scheduleAtFixedRate.
Деятельность A затем запускает другую Деятельность B, которая отображает информацию для пользователя. По какой-то причине, которую мне еще предстоит выяснить, в большинстве случаев, когда я нажимаю кнопку «Домой», опрос останавливается, и служба, похоже, останавливается. Выбор моего приложения из списка последних приложений Home или через уведомление, которое я публикую, когда он не виден, выводит Активность на первый план, но Сервис, похоже, исчез. Это затрудняет отладку, примерно в 10-20% случаев все работает отлично, а служба опроса сообщений продолжает отключаться.
Должен ли я использовать startService вместо этого? Единственное прямое отношение, которое вторая активность B имеет к Сервису, заключается в том, что он регистрируется в качестве наблюдателя потока Read, чтобы получать уведомления о тайм-аутах на Reads. Я не вызываю stopService нигде в моем коде.