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