在我的应用中,我使用AlarmManager
启动Foreground Service
以便在将来的特定时间完成工作,然后在完成工作时致电stopForeground(true)
。
我在下面的案例中遇到了问题。
作业1 :时间安排在上午10:00 ,服务启动并执行一项长任务。完成需要大约 5 分钟。
工作2:时间安排在 10:01 AM ,服务启动并执行稍微的任务。 1 分钟只需完成。
如您所见,当时间上午10:02 , job2 已完成且 job1 尚未完成时。因此,如果我从job2调用 stopForeground(true),它将关闭通知并停止前台,job1受影响并立即作为后台运行。
所以我考虑是否可以知道“实例”作业是否正在运行前景,我不应该调用stopForeground(true)
。
对不起,我的英语不好。
答案 0 :(得分:0)
您仅使用一项服务,同时执行两项工作还是两项单独的服务?
检查每次startForeground()
所使用的NOTIFICATION_ID是否不同,否则我猜JOB2也会始终取消JOB1的通知