检查调用stopForeground(true)

时间:2018-05-29 15:13:02

标签: android service alarmmanager

在我的应用中,我使用AlarmManager启动Foreground Service以便在将来的特定时间完成工作,然后在完成工作时致电stopForeground(true)

我在下面的案例中遇到了问题。

作业1 :时间安排在上午10:00 ,服务启动并执行一项长任务。完成需要大约 5 分钟。

工作2:时间安排在 10:01 AM ,服务启动并执行稍微的任务。 1 分钟只需完成。

如您所见,当时间上午10:02 job2 已完成且 job1 尚未完成时。因此,如果我从job2调用 stopForeground(true),它将关闭通知并停止前台,job1受影响并立即作为后台运行。

所以我考虑是否可以知道“实例”作业是否正在运行前景,我不应该调用stopForeground(true)。 对不起,我的英语不好。

1 个答案:

答案 0 :(得分:0)

您仅使用一项服务,同时执行两项工作还是两项单独的服务?

检查每次startForeground()所使用的NOTIFICATION_ID是否不同,否则我猜JOB2也会始终取消JOB1的通知