Проверьте, чтобы вызвать stopForeground (true) - PullRequest
0 голосов
/ 29 мая 2018

В своем приложении я использую AlarmManager, чтобы запустить Foreground Service, чтобы выполнить работу в определенное время в будущем, а затем вызвать stopForeground(true), когда работа будет завершена.

У меня проблема в нижеследующем случае.

Задание 1 : время запланировано на 10: 00 AM , служба запускается и выполняет длинную задачу,Это займет около 5 минут.

Задание 2: Время запланировано на 10: 01 AM , служба запускается и выполняет небольшую задачу.Для завершения требуется всего 1 минут.

Как видите, когда время 10: 02 AM , job2 завершено и job1 еще не завершено.Поэтому, если я вызову stopForeground (true) из job2, он отклонит уведомление, а также остановит передний план, задание job1 будет работать в качестве фона.

Поэтому я думаю, могу ли я узнать, выполняется ли задание «экземпляр» на переднем плане, и мне не следует вызывать stopForeground(true).Извините за мой плохой английский.

1 Ответ

0 голосов
/ 13 февраля 2019

Используете ли вы только одну Службу с двумя заданиями или двумя отдельными службами?

Убедитесь, что идентификаторы NOTIFICATION_ID, которые вы используете для startForeground(), отличаются каждый раз, в противном случае я предполагаю, что JOB2 всегда будет отклонять уведомление дляJOB1, а также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...