Из кода конкретного сервиса я хочу определить, находится ли служба на переднем плане. Я посмотрел на:Как узнать, работает ли мой Android-сервис на переднем плане?
ActivityManager.RunningServiceInfo
специально RunningServiceInfo.foreground, но документация говорит: «Установить истинное значение, если служба попросил для работы в качестве переднего плана процесса.»
Могу ли я полагаться на RunningServiceInfo.foreground? Или есть другой способ?
PS: У меня нет других проблем, моя служба работает нормально. Этот вопрос больше из любопытства. Уже просмотрел АСОП и ничего не видел, но, может быть, я что-то пропустил ...
Если у вас есть подобный вопрос, это может помочь: How to determine if an Android Service is running in the foreground?
... Хотя я нашел принятое решение будет неполный.
Что вы пытаетесь выполнить, посмотрев, работает ли служба на переднем плане? – tyczj
У меня возникла проблема, когда я бы назвал setForeground, но служба все еще была убита под нагрузкой. Оказалось, что я неправильно звонил setForeground (передавая его id = 0). Но прежде чем я понял, что мне пришло в голову, что я на самом деле не знаю, что служба была на переднем плане, просто я попросил ее. Поэтому я искал способ определить, была ли служба первой и не найдена. Поэтому я подумал, что я бы поставил его в SO ... – newbyca
ну его не заданоForeground его 'startForeground()' и используя это, вам нужно создать уведомление, которое отображается на панели уведомлений – tyczj