У меня есть некоторый предлог IntentService, который можно запустить или остановить. Мне нужно отразить его прогресс (текущее состояние, которое является довольно сложным) на Деятельности, если он виден.
Я не нашел надежного и хорошего способа выяснить, работает ли мой IntentService и готов ли он быть связанным с моей деятельностью.
Если я делаю bindService , он всегда возвращает true. Если IntentService не запущен, onServiceConnected (как и любые другие обратные вызовы) никогда не вызывается, и моя активность всегда остается в состоянии подготовки.
Единственным рабочим решением, которое я нашел, была статическая переменная в моем классе IntentService, которая указывает, что служба работает. Но я считаю, что использование такого подхода - плохая практика, и многие люди предупреждают, что в некоторых случаях он не может работать или быть непредсказуемым.
ВОПРОС: Как разработчики Android ожидают обработки сбоя вызова bindService?
И особый случай: что делать в случае, если мы пытаемся привязать сервис, который сейчас не работает, или в каком-то промежуточном состоянии (например, закрытие и т. Д.).