首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LocalBroadcastManager与Context.registerReceiver()、Context.sendBroadcast(Intent)和Context.unregisterReceiver()是否相同?

LocalBroadcastManager与Context.registerReceiver()、Context.sendBroadcast(Intent)和Context.unregisterReceiver()是否相同?
EN

Stack Overflow用户
提问于 2012-11-28 08:47:18
回答 1查看 12.5K关注 0票数 38

我使用的是Context.registerReceiver(), Context.sendBroadcast(Intent) , and Context.unregisterReceiver()

但是当我看到LocalBroadcastManager类时,它像Context一样有registerReceiver(), sendBroadcast(Intent) ,unregisterReceiver()

我很困惑。什么时候应该使用LocalBroadcastManager?它们在Context中是否相同

致以敬意,

谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-28 11:42:21

顾名思义,LocalBroadcastManager是一种广播方法的实现,这些方法只对您的应用程序可用的。这有一些好处,最大的好处是安全性,减少了一个需要注意的漏洞。在实现方面,有几件事需要牢记:

  • 此类来自安卓支持库
  • 方法调用必须以LocalBroadcastManager.getInstance([CONTEXT])开头,其中[CONTEXT]是Context类的子类,例如Activity。
  • 当您使用此类时,它纯粹是为您的<>E211应用程序编写的。使用它注册接收器并进行系统范围的广播将失败。

因此,这个类与Context不同,它只是Context的接收器/广播方法的一个非常具体的、仅供应用程序使用的实现。当侦听器完全没有必要监听全局(系统范围)广播,并且您的广播不需要针对应用程序以外的任何内容时,您应该使用它。

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

https://stackoverflow.com/questions/13595925

复制
相关文章

相似问题

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