android – 在manifest.xml中声明的BroadcatReceiver没有接收到LocalBroadcastManager意图

虽然可以通过代码声明“本地”BroadcastReceiver,因此它接收通过LocalBroadcastManager.Ex发布的意图.
LocalBroadcastManager.getInstance(this).registerReceiver(new FooReceiver(),new IntentFilter("foo_intent_filter"));

我想知道是否可以通过manifest.xml(清理器)声明这样的接收器.

当我使用“清单方式”时,接收者没有“接收”意图.

<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) .

首先,这是不可能的.

其次,在清单中注册与“清洁”无关.它允许Android自己实例化接收器,以便您可以在进程未运行时响应广播.而且,在您引用的具体示例中,它允许系统上的任何应用程序向您发送广播.这些都与LocalBroadcastManager无关.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...