LocalBroadcastManager与Context.registerReceiver(),Context.sendBroadcast(Intent)和Context.unregisterReceiver()是否一样?

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

但是当我看到LocalBroadcastManager类的LocalBroadcastManager ,它有如Context registerReceiver(), sendBroadcast(Intent) ,unregisterReceiver()

我很困惑。 什么时候应该使用LocalBroadcastManager ? 他们在Context中是否一样?

问候,

谢谢…

Solutions Collecting From Web of "LocalBroadcastManager与Context.registerReceiver(),Context.sendBroadcast(Intent)和Context.unregisterReceiver()是否一样?"

LocalBroadcastManager就像它的名字所说的那样,是一个适用于你的应用的广播方法的实现。 这有一些好处,其中最大的安全性,less一个值得注意的漏洞。 在实施方面,有几件事要牢记:

  • 这个类来自Android支持库
  • 方法调用必须以LocalBroadcastManager.getInstance([CONTEXT])开头,其中[CONTEXT]是Context类的子类,如Activity。
  • 当你使用这个类,它纯粹是为你的应用程序。 使用它来注册接收器,并使系统广播将失败。

所以这个类与Context不是一样的,它只是Context的接收器/广播方法的一个非常具体的,仅应用的实现。 您应该在听众无法听到全局(系统范围)广播时以及您的广播不需要定位您的应用以外的任何内容时使用它。