首页 > 解决方案 > 检查调用 stopForeground(true)

问题描述

在我的应用程序中,我习惯于在未来的特定时间AlarmManager开始工作,然后在工作完成时调用。Foreground ServicestopForeground(true)

我在以下情况下遇到问题。

作业 1:安排在上午 10:00的时间,服务开始并执行长时间的任务。大约需要5分钟才能完成。

工作 2:时间安排在上午 10:01,服务开始并做一个小任务。只需1分钟即可完成。

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

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

标签: androidservicealarmmanager

解决方案


您是仅使用一项服务和两项工作,还是使用两项单独的服务?

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


推荐阅读