LocalBroadcastManager可以将Intent发送到同一个App中的全局BroadcastReceivers吗?

时间:2016-01-25 13:40:12

标签: broadcastreceiver android-broadcast localbroadcastmanager

如果LocalBroadcastManager驻留在同一个App中,它是否可以向全局注册的BroadcastReceiver发送Intent?或者我必须使用context.sendBroadcast()吗?

1 个答案:

答案 0 :(得分:1)

没有。 LocalBroadcastManager无法将Intent发送到全局BroadcastReceivers

<强>解释
LocalBroadcastManager有一个私有HashMap,当registerReceiver方法使用应用程序中的任何上下文显式调用时,它会将BroadcastReceiver映射到ArrayList<IntentFilter>。它不包含BroadcastReceivers中声明的全局AndroidManifest.xml的任何记录。因此,LocalBroadcastManager不会将Intent发送到全局BroadcastReceivers

请参阅我在我的应用程序中调试LocalBroadcastReceiver时捕获的以下屏幕截图,该应用程序在BroadcastReceivers

中全局声明了三个AndroidManifest.xml

enter image description here