У меня есть служба переднего плана, в которой я регистрирую данные о местоположении, и фильтр намерений для намерения аккумулятора Intent.ACTION_BATTERY_CHANGED
и LocalBroadcast
. Все из них я удаляю в onDestroy
моей службы, как только эта служба мертва.Остановлена перезагрузка переднего плана
Я также изменил целое число в onStartCommand
от START_STICKY
до START_NOT_STICKY
, но это не имеет никакого эффекта.
Я регистрирую, когда эта служба запущена и уничтожена, а также моя основная деятельность, и кажется, что эта услуга начинается сама по себе без каких-либо действий.
Проблема заключается в том, что это обслуживание переднего плана, поэтому уведомление сопровождает его. Это означает, что когда он запускается снова случайным образом, пользователь видит уведомление, и я не хочу, чтобы служба работала сама по себе.
Так что напомним.
- Это связанный, передний сервис.
- я вернусь START_NOT_STICKY
в onStartCommand
- Когда я больше не нужно, и закрыть приложение, я отвязать от него, называют StopService и OnDestroy сервиса называется где мы разрегистрировать все приемники. - Служба запускается случайно после этого.
Как служба заявила в манифесте? У вас есть какие-либо фильтры Intent, указанные для этой службы? – mach
К сожалению, следовало бы упомянуть об этом. Нет, у меня нет настроек фильтров намерений в манифесте. Буквально только декларация – StuStirling
Код сервиса был бы неплохо иметь. Пробовали ли вы регистрировать функции onBind() - и onNewIntent() в службе, чтобы попытаться определить, запущена ли она из-за привязки к ней активности или если это входящее намерение? – mach