我可以通过操作过滤Android应用程序中的广播。例如:
<receiver android:name=".receiver.TasksModifiedReceiver">
<intent-filter>>
<action android:name="myapp.TASKS_MODIFIED_ACTION" />
</intent-filter>
</receiver>
但是,我可以通过&#34; extras&#34;进一步过滤它们吗?在意图中提供的是什么?
例如,应用程序A发送广播:
Intent taskBroadcastIntent = new Intent();
taskBroadcastIntent.setAction(ApplicationConstants.TASKS_MODIFIED_BROADCAST_ACTION);
taskBroadcastIntent.putExtra("TaskType", taskType);
taskBroadcastIntent.putExtra("UserName", CommonCache.getCommonCache().getValue(CommonCache.USER_NAME));
taskBroadcastIntent.putExtra("Environment", Constants.ENVIRONMENT);
context.sendBroadcast(taskBroadcastIntent);
现在,应用程序B只应接收广播,如果&#34;任务类型&#34; extra设置为&#34; task1&#34;, 和应用程序C只应接收广播,如果&#34;任务类型&#34; extra设置为&#34; task2&#34;。
任何有用的建议将不胜感激。 我在Android开发人员文档中找不到此功能。
答案 0 :(得分:0)
我不认为这是可能的。但这就是我要做的,
创建一个通用接收器,您将收到应用程序上下文和意图。因此,使用getStringExtra(&#34; TaskType&#34;)获取taskType,并根据该触发器获取相应的广播意图。