BroadcastReceiver 与 Intent 有何不同

Posted

技术标签:

【中文标题】BroadcastReceiver 与 Intent 有何不同【英文标题】:How BroadcastReceiver is different from Intent 【发布时间】:2011-06-12 21:18:38 【问题描述】:

您好,我看到了相互矛盾的定义。 android 专家,你能给我解释一下吗?

1) 如果 BroadCastReceiver 是 android 中响应意图的组件,那么我也可以在 androidManifest xml 文件中为活动注册一个过滤器,并让它根据电池电量低、无网络、方向更改等意图完成我的工作. 这些是我可能有兴趣在我的代码中做出反应的意图。

2) 为什么要在 androidManifest.xml 中为 BroadcastReceiver 注册另一个过滤器并在 BCRCVR 类中的 onReceive() 处执行操作?

3. 我们真的可以在活动中执行意图驱动的操作吗?对吧?

【问题讨论】:

【参考方案1】:

我猜标题应该是“BroadcastReceiver 与 Activity 有何不同”。 在我看来,广播接收器是独立的单元,因为有时您不希望系统创建一个新的 Activity 对象只是为了处理到达的意图。此外,您不会显示您的活动。广播接收器是独立的,可以在任何 Activity 之外使用。 Activity 更多的是关于用户界面,而广播是关于处理事件。

【讨论】:

以上是关于BroadcastReceiver 与 Intent 有何不同的主要内容,如果未能解决你的问题,请参考以下文章

Android初级教程短信防火墙

BroadcastReceiver 总是与网络断开连接

android的Home键的监听封装工具类

BroadcastReceiver 与 Intent 有何不同

ContentObserver 与 BroadCastReceiver:电池使用情况、内存、CPU?

清单中的 ACTION_USER_PRESENT 与 BroadcastReceiver