У меня возникла странная ситуация, когда созданная служба останавливается - иногда. У меня есть запись Activity A, который запускает услугу, используя bindServiceAndroid-сервис останавливается без ответа?
// 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 в любом месте моего кода.
Спасибо, я сегодня вечером попробую что-то подобное. Я надеюсь, что вы и Фальмари правы, и я должен использовать звонок startService. – bursk