如果LocalBroadcastManager驻留在同一个App中,它是否可以向全局注册的BroadcastReceiver发送Intent?或者我必须使用context.sendBroadcast()吗?
答案 0 :(得分:1)
没有。 LocalBroadcastManager
无法将Intent发送到全局BroadcastReceivers
。
<强>解释强>
LocalBroadcastManager
有一个私有HashMap,当registerReceiver方法使用应用程序中的任何上下文显式调用时,它会将BroadcastReceiver
映射到ArrayList<IntentFilter>
。它不包含BroadcastReceivers
中声明的全局AndroidManifest.xml
的任何记录。因此,LocalBroadcastManager
不会将Intent发送到全局BroadcastReceivers
。
请参阅我在我的应用程序中调试LocalBroadcastReceiver
时捕获的以下屏幕截图,该应用程序在BroadcastReceivers
AndroidManifest.xml