以下是故事:我创建了一个应用程序,它在启动时启动并以指定的时间间隔执行某些操作。为了实现这一目标,我正在创建一个使用AlarmManager
来创建重复事件的服务,然后由BroadcastReceiver
处理这个重要事件。当服务被销毁(用户选择退出应用程序)时,必须取消该事件,因此服务必须保持对用于启动它的同一PendingIntent
的引用。
问题:服务必须致电startForeground
以确保它不会死亡,因此可以维持对PendingIntent
的引用。通知一直出现在状态栏中,用户发现它很烦人(说实话,我也是)。
下一步是什么?理想情况下,我正在寻找能够将图标保留在状态栏中的解决方案,但不会显示在下拉列表中。通过这种方式,用户将知道它正在运行,并且不会因浪费空间而烦恼。
几乎没有猜测:也许在重新创建时可以恢复服务中的引用?如果是这样,怎么样?这样我可以避免使用startForeground
。但是,如何将图标放入状态栏?
或者有人有更好的解决方案?
答案 0 :(得分:0)
首先,您不必一直坚持PendingIntent
。如果您拥有所有必需的数据,稍后可以重新创建它以取消通知 - 您只需使用完全相同的数据重新创建它。