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

Can a LocalBroadcastManager send Intent to global BroadcastReceivers in the same App?

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

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

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

查看下面的屏幕截图,这是我从我的应用程序调试 LocalBroadcastReceiver 时捕获的,该应用程序在 AndroidManifest.xml

中全局声明了三个 BroadcastReceivers