虽然可以通过代码声明“本地”BroadcastReceiver,以便它接收通过 LocalBroadcastManager.Ex 发布的 Intent
LocalBroadcastManager.getInstance(this).registerReceiver(new FooReceiver(), new IntentFilter("foo_intent_filter"));
我想知道是否可以通过 manifest.xml (cleaner) 声明这样的接收器。
当我使用“ list 方式”时,接收方未“接收” Intent 。
<receiver
android:name="FooReceiver"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="foo_intent_filter" />
</intent-filter>
</receiver>
我错过了什么吗?或者代码方式是唯一可行的解决方案。
谢谢
最佳答案
I wonder if it is possible to declare such receiver via the manifest.xml (cleaner) .
首先,这是不可能的。
其次,在 list 中注册与“更清洁”关系不大。就是让Android自己实例化receiver,这样你的进程没有运行的时候就可以响应广播了。而且,在你举的具体例子中,就是让系统上的任何一个app给你发一个广播。这些都与 LocalBroadcastManager
无关。
关于android - 在 manifest.xml 中声明的 BroadcatReceiver 未接收到 LocalBroadcastManager Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24081676/