android - 检查调用 stopForeground(true)
问题描述
在我的应用程序中,我习惯于在未来的特定时间AlarmManager
开始工作,然后在工作完成时调用。Foreground Service
stopForeground(true)
我在以下情况下遇到问题。
作业 1:安排在上午 10:00的时间,服务开始并执行长时间的任务。大约需要5分钟才能完成。
工作 2:时间安排在上午 10:01,服务开始并做一个小任务。只需1分钟即可完成。
如您所见,当时间为10:02 AM 时,job2已完成,而job1尚未完成。因此,如果我从 job2 调用stopForeground(true),它将关闭通知并停止前台,job1 受到影响并现在作为后台运行。
所以我考虑我是否可以知道“实例”作业是否正在前台运行,我不应该调用stopForeground(true)
. 对不起,我的英语不好。
解决方案
您是仅使用一项服务和两项工作,还是使用两项单独的服务?
检查您startForeground()
每次使用的 NOTIFICATION_ID 是否不同,否则我猜 JOB2 也会始终关闭 JOB1 的通知
推荐阅读
- bash - 为什么在本地通过 SSH 初始化远程 bash 脚本时无法访问 GitHub?
- c++ - 在数组中显示第一个元素用户输入
- compiler-construction - 如何在coq中分析两个看似等效但行为不同的程序?
- ios - 从 getdocument which insdie getdocuments 在我的数组中获取 0 值
- android-studio - fragment.show(fragmentManager,"confirmDelete") 错误
- javascript - 如何通过逗号和/或换行符和/或空格分割字符串
- jquery - 即使在刷新页面后,如何使用 js 保持“模式”
- python - 如何获取数据框中的频率?
- c# - 如何使用 IF 语句检查图片框是否包含某个图像
- go - 时间字符串到 time.Time