После тщательного расследования, основанного на аналогичных проблемах, мне нужно попытаться получить некоторую информацию по моему конкретному случаю.
У меня есть приложение для 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
Service.startForeground() не разрешен из-за mAllowStartForeground false при запуске из Activity.onStop ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение