首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >LiveData vs处理程序和LocalBroadcast

LiveData vs处理程序和LocalBroadcast
EN

Stack Overflow用户
提问于 2017-09-14 06:30:51
回答 2查看 2.1K关注 0票数 18

我有旧的Android/java代码,其中包含两个从IntentService派生的代码,并且这些服务而不是在单独的进程中运行。

问题是如何从这些IntentService返回结果。

使用Handler + Runnable返回一个服务结果,在主循环中运行代码:

代码语言:javascript
复制
new Handler(Looper.getMainLooper()).post(new Runnable() {
    @Override
    public void run() {
        MyApplication.get().setFoo(someThing);
    }
});

另一种是使用LocalBroadcastManager.getInstance(this).sendBroadcast(in);Activity发送消息,ActivityonResume中通过BroadcastReceiver订阅消息,在onPause中通过取消订阅。

我说的对吗?在这两种情况下,都可以使用LiveData来简化事情?

IntentService应该创建LiveData,谁应该observe它,当新数据到达时,IntentService应该调用postValue,或者可能有一些珊瑚礁阻止了LiveData的使用?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46207758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档