【问题标题】:When does an Activity receive broadcast in AndroidActivity 什么时候在 Android 中接收广播
【发布时间】:2016-05-13 19:29:31
【问题描述】:

关于在 Activity 中运行的广播接收器。通常我在 onResume 中注册并在 onPause 中取消注册。但。假设当发件人发送广播时我的活动已暂停,现在我的活动已恢复。现在恢复的 Activity 会接收广播吗?

现在明白这一点。文档说活动在暂停时不会收到意图。但该声明悬而未决我的特殊调查。

onCreate -> onResume -> onPause|...broadcast sent...| -> onResume-> ???

【问题讨论】:

  • onPause() 中取消注册接收器的主要原因是您对在活动不活动时接收广播不感兴趣。如果不是这样,您应该考虑在后台运行的服务中注册接收器。
  • 我喜欢这两个答案,我都会投赞成票。但是@adelphus 你的在建议与服务配对方面更进了一步,所以如果你作为回复发布,我想将其作为最佳回复进行检查。对于不理解的人,由于评论有点简洁,我的 Activity 将绑定到服务并以这种方式检查更新。
  • 欣赏,但我的评论并没有真正回答你的问题(*活动会收到广播吗?)。一般来说,SO 希望你标记你实际问题的答案,即使 cmets帮助你。
  • 你很绅士。谢谢。

标签: android android-intent android-activity broadcastreceiver


【解决方案1】:

没有。因为当您将广播发送到该活动时,您已经取消了该接收器的注册。因此,将发送广播,寻找可以处理该广播的接收者,既然没有,就放弃该请求。

在恢复时,您的应用将重新注册接收方。但是,由于之前的请求被丢弃,它不会响应它,而只会响应活动恢复时发送的请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 2018-04-06
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多