Service.startForeground() не разрешен из-за mAllowStartForeground false при запуске из Activity.onStopAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Service.startForeground() не разрешен из-за mAllowStartForeground false при запуске из Activity.onStop

Сообщение Anonymous »

После тщательного расследования, основанного на аналогичных проблемах, мне нужно попытаться получить некоторую информацию по моему конкретному случаю.
У меня есть приложение для Android, состоящее из действия и службы. Когда действие запускается, я запускаю службу (как обычную фоновую службу), вызывая startService(). Когда пользователь закрывает приложение (например, в Activity.onStop), я перемещаю Службу в службу переднего плана, вызывая startForeground с соответствующим уведомлением. Обычно это работает нормально. Но иногда я получаю исключение ForegroundServiceStartNotAllowedException, при этом Service.startForeground() не разрешен из-за сообщения mAllowStartForeground false.
Я не могу воспроизвести это локально (ни при отладке, ни при производстве). ). Судя по журналам сбоев, это затрагивает не всех пользователей, а затронутые пользователи видят это лишь изредка.
Насколько я могу судить, я выполняю правильные шаги, чтобы справиться с этим, о чем свидетельствует тот факт, что в большинстве случаев это работает.
Я попробовал builder.setForegroundServiceBehavior(Notification.FOREGROUND_SERVICE_IMMEDIATE);, и служба объявлена ​​как android:foregroundServiceType="location"
Мое предположение заключалось в том, что в некоторых случаях StartForeground вызывается недостаточно быстро (насколько я понимаю, ОС дает короткое окно для этого этот тип переключателя), но я не могу это подтвердить. Кроме того, в OnStop я вызываю это немедленно, и уведомление создается заранее, поэтому я не знаю, как это можно ускорить?
Буду очень признателен за любую помощь!
Буду благодарен за любую помощь!
Будем благодарны за любую помощь!
р>

Подробнее здесь: https://stackoverflow.com/questions/777 ... se-when-tr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»