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