biq*_*llo 5 service android design-patterns android-activity
我在 android 中有一项服务,它不断提取传感器信息并通过网络接口发送它们。
另一方面,我有几个活动将以不同的方式使用这些传感器值。由于服务以事件驱动的方式获取值,我如何仅将这些值传递给前台的活动?
提前致谢
我认为这是“本地”服务最常见的情况,即与活动在同一进程中运行。
有两种解决方案,一种是服务向注册和取消注册正确的BroadcastReceiverinonStart()和的活动发送意图onStop()。
另一个使用侦听器机制。您可以获取对服务实例的引用,如此处所述。在服务中编写setListener(ServiceListener l)方法和ServiceListener接口,您将能够在活动中实现侦听器并将其设置在服务上。
意图方式可能更简单且风险更小,但您必须坚持使用意图附加方式进行数据交换。
侦听器方式更灵活,但我读到必须确保取消注册侦听器,否则您可能会陷入困境。泄露整个活动。
| 归档时间: |
|
| 查看次数: |
2326 次 |
| 最近记录: |