【发布时间】:2012-11-14 20:04:05
【问题描述】:
我有两个可以完全控制的应用程序。两者都使用相同的证书签名,并且都使用完全相同的意图过滤器。一个从片段发送广播,另一个假设接收它并做某事。然而这不起作用:
Strings.FILTER_INIT_REGISTER = "com.app.FILTER_INIT_REGISTER"
Intent intent = new Intent(Strings.FILTER_INIT_REGISTER);
getActivity().sendBroadcast(intent);
我已经在包含 ReportingReceiver 类的应用的 Manifest 应用标签中注册了接收器:
<receiver
android:name=".receivers.ReportingReceiver"
android:exported="true"
>
<intent-filter>
<action android:name="com.app.FILTER_INIT_REGISTER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
好奇为什么 ReportingReceiver 类没有收到意图调用?
【问题讨论】:
-
如果您在广播时未指定任何类别,我不确定广播的类别是否为“android.intent.category.DEFAULT”。您是否尝试在广播时删除类别标签或添加类别(Intent.CATEGORY_DEFAULT)?
-
Manifest 中的应用程序标签包含什么?
-
App 标签中只有一个服务和相应的接收者标签。
-
去掉类别装饰没有区别。
标签: android android-intent broadcastreceiver