【发布时间】:2023-10-11 06:11:02
【问题描述】:
故事如下:我创建了一个应用程序,它在启动时启动并以指定的时间间隔执行一些操作。为了实现这一点,我正在创建一个使用AlarmManager 来创建重复事件的服务,然后由BroadcastReceiver 处理,它完成了繁重的工作。当服务被销毁(用户选择退出应用程序)时,必须取消事件,因此服务必须保持对用于启动它的同一 PendingIntent 的引用。
问题:服务必须调用startForeground 以确保它不会死,这样它才能保持对PendingIntent 的引用。通知一直出现在状态栏中,用户觉得它很烦人(老实说,我也是)。
下一步做什么?理想情况下,我正在寻找将图标保留在状态栏中但不会显示在下拉列表中的解决方案。这样用户就会知道它正在运行,并且不会因浪费空间而烦恼。
几个猜测:也许有可能在重新创建时恢复服务中的引用?如果是这样,怎么做?这样我就可以避免使用startForeground。但是,如何让图标进入状态栏?
或者也许有人有更好的解决方案?
【问题讨论】:
标签: android service notifications foreground