android - 在 manifest.xml 中声明的 BroadcatReceiver 未接收到 LocalBroadcastManager Intent

标签 android broadcastreceiver localbroadcastmanager

虽然可以通过代码声明“本地”BroadcastReceiver,以便它接收通过 LocalBroadcastManager.Ex 发布的 Intent

LocalBroadcastManager.getInstance(this).registerReceiver(new FooReceiver(), new IntentFilter("foo_intent_filter"));

我想知道是否可以通过 ma​​nifest.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/

相关文章:

android - 泄露的 Intent 接收器

android - BroadCast Receiver 或 Sync Adapter 用于检测特定位置 Android 的文件删除

android - 避免在 Android 中注册重复的广播接收器

android - 如果 Activity 正在运行则发送 LocalBroadcast 否则从后台服务发送通知

javascript - 播放来自 YouTube 的视频时出现黑屏 : Phonegap Android

android - 如何在 Android 中以编程方式触发自定义信息窗口

android - 我怎样才能让 Mockito 在 androidTest 中工作

android - 如果我使用相同的签名签名,是否可以接收另一个 Android 应用程序的 C2DM Intent ?

android - 如何使用 LocalBroadcastManager 为类编写单元测试?

android - 如何标记具有许多不同字符的字符串?