如果我了解 Android 手册,则将BroadcastReceiver
其视为无状态实体,因此我应该保留一个将用作数据容器的服务(这些是我的结论)。
根据每个数据访问请求,我应该执行startService
(?)——我可以通过这种方式将数据传递给服务,但是如何取回数据?
我的意思是推荐的方式?我可以考虑传递“输出”数据,完成后的服务会更改它,因此当startService
返回时我可以检查我发送的数据以检索结果。
如果我了解 Android 手册,则将BroadcastReceiver
其视为无状态实体,因此我应该保留一个将用作数据容器的服务(这些是我的结论)。
根据每个数据访问请求,我应该执行startService
(?)——我可以通过这种方式将数据传递给服务,但是如何取回数据?
我的意思是推荐的方式?我可以考虑传递“输出”数据,完成后的服务会更改它,因此当startService
返回时我可以检查我发送的数据以检索结果。
如果我了解 Android 手册,BroadcastReceiver 被视为无状态实体,所以我应该保留一个服务作为数据容器(这是我的结论)。
仅仅为了保留数据而提供服务会让你的用户不喜欢你,并且不能保证数据会一直存在。用户和操作系统可以并且将随时摆脱您的进程。
请使用文件(例如,数据库SharedPreferences
)来保存需要在进程调用之间保留的数据。
我不会为此使用服务,SharedPreferences对于存储一些键/值对数据非常有用。