0

我有一项活动可以启动\停止我的服务。在服务中有alarmManager,每x分钟启动我的BroadcastReceiver。我需要在每个 BroadcastReceiver 的 ArrayList 中保留一些数据,并在下一个 BroadcastReceiver 中再次使用(添加/删除)它。我尝试在我的服务中创建静态 ArrayList,但是当我停止(重新启动)它时 - 我丢失了我的数据。当我再次开始我的主要活动时 - 由于生命周期,我丢失了数据......

所以我需要可以在 BroadcastReceiver 中访问的全局数组列表。从 onBoot 事件到手机死机,这个数组应该一直可用;)

有任何想法吗?

4

3 回答 3

0

您可以为您的数据使用数据库,在开始时读取并在停止时写入。Andorid 教程介绍了如何处理数据库。

于 2012-12-15T21:07:30.030 回答
0

您必须在服务之外创建静态数组,例如在新类中。

于 2012-12-15T21:09:48.360 回答
0

确保当你停止 - 你不终止虚拟机 - 只是finish()活动。
如果您需要持久性,请使用共享首选项(最简单)或数据库。

于 2012-12-15T21:35:44.980 回答