gpt4 book ai didi

java - 使用 AlarmManager 和 BroadcastReceiver 存储文件

转载 作者:行者123 更新时间:2023-12-02 06:09:57 24 4
gpt4 key购买 nike

我有一个应用程序,每分钟执行一项任务,然后将该信息添加到存储在应用程序 MainActivity 中的 ArrayList 中。当应用程序运行时,即使在后台,这也能完美运行。然而,当我销毁应用程序并让 AlarmManager 在后台每分钟重复一次时,由于某种原因,每次添加新信息时列表都会被删除,这意味着下次我打开应用程序时,ArrayList 中始终只有一个对象,这是最后一个关闭的 AlarmManager 创建的最后一个。

此事件每分钟在 BroadcastReceiver 中处理一次,该事件调用主 Activity 中的一个方法来添加到存储在那里的数组列表。这可能就是应用程序未运行时我的数据被删除的原因吗?每次我想向列表添加新数据时,我都会让应用程序从存储中获取当前列表,这会正确获取列表,直到应用程序不运行,然后每次都会获取一个空列表。

最佳答案

当您的应用程序在后台时,您的数组列表将为空。您应该将您的arralist存储到sharedpreferences中。因此,每当您需要检索数据时,您都可以从sharepreferences中获取数据。

请检查以下链接:

reference link

希望它对你有用。

关于java - 使用 AlarmManager 和 BroadcastReceiver 存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com