gpt4 book ai didi

android - 正确处理来自 IntentService 的 sendBroadcast()

转载 作者:行者123 更新时间:2023-11-29 01:37:35 27 4
gpt4 key购买 nike

我正在使用 IntentService 从远程源获取数据。当服务获取数据后,它使用 sendBroadcast(intent) 广播它。

在我的主要 Activity 中,我扩展了 BroadcastReceiver 并定义了一个 onReceive() 来处理 sendBroadcast() 发送的数据。

我在 onResume() 中使用 registerReceiver(...) 注册接收器,并在 onPause() 中使用 注销它取消注册接收者()。这符合 http://developer.android.com/reference/android/content/BroadcastReceiver.html 中的建议。 .

如果 sendBroadcast() 在 Activity 处于 onPause()(接收器已注销)时广播数据,则广播将不会得到处理。如果 onPause() 后跟一个 onResume(),接收者将再次注册,但 IntentService 已经完成它的工作,接收者没有什么可听的.问题:有没有什么好的模式让activity知道广播已经发生了?

最佳答案

我不知道您当前的情况如何,但开发人员以不同的方式做同样的事情。

他们使用 EventBus(OttoGreenRobot's EventBus),其设计目的与您正在做的相同,而且效果非常好。

所以使用它,你会发现它很有趣。

关于android - 正确处理来自 IntentService 的 sendBroadcast(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961446/

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