如何在BroadcastReceiver中保存和访问数据?

时间:2012-10-12 11:36:03

标签: android broadcastreceiver

如果我理解Android手册,BroadcastReceiver被视为无状态实体,那么我应该保留一个服务作为数据容器(这些是我的结论)。

根据每个数据访问请求,我应该执行startService(?) - 我可以通过这种方式将数据传递给服务,但是如何获取数据?

我的意思是推荐的方式?我可以考虑传递“out”数据,完成后的服务会改变它,所以当startService返回时我可以检查我发送的数据以便检索结果。

2 个答案:

答案 0 :(得分:2)

  

如果我理解Android手册,则BroadcastReceiver被视为无状态实体,因此我应该保留一个服务作为数据容器(这些是我的结论)。

仅仅为保留数据提供服务会让您的用户不喜欢您,并且无法保证数据无论如何都会存在。用户和操作系统可以随时摆脱您的过程。

请使用文件(例如,数据库,SharedPreferences)来保存需要在进程调用之间存活的数据。

答案 1 :(得分:1)

我不会为此使用服务,SharedPreferences对于存储一些键/值对数据非常有用。