如何在服务被杀死时跟踪小部件?

时间:2012-12-13 10:38:54

标签: android service widget

我正在尝试修复其他人的代码,并希望尽可能少的mod。该项目是一个小部件。代码的设计方式,可以将多个实例添加到主屏幕中。有一项服务可以接收小部件中的操作广播,并相应地处理广播。

由于可以有多个小部件实例,服务使用HashMap跟踪实例,将小部件ID映射到实际小部件。这种方法很有效,直到服务被终止(通常来自任务管理器)。下一次小部件发送广播时,服务将重新启动(我没有花太多时间了解它是如何重新启动的,但确实如此)。但是,在杀死/重新启动服务时,窗口小部件ID到实际窗口小部件的地图会被清除,因此服务不知道哪个窗口小部件正在发送广播,因此无法执行任何操作。

管理这种情况的最佳方法是什么?以某种方式保存/恢复地图?

0 个答案:

没有答案