【发布时间】:2026-02-04 11:30:01
【问题描述】:
我可以通过操作过滤我的 Android 应用程序中的广播。例如:
<receiver android:name=".receiver.TasksModifiedReceiver">
<intent-filter>>
<action android:name="myapp.TASKS_MODIFIED_ACTION" />
</intent-filter>
</receiver>
但是,我可以通过意图中提供的“附加”进一步过滤它们吗?
例如,应用程序 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);
现在,如果“TaskType”额外设置为“task1”,应用程序 B 应该只接收广播, 如果“TaskType”额外设置为“task2”,应用程序 C 应该只接收广播。
任何有用的建议将不胜感激。 我在 Android 开发者文档中找不到这个功能。
【问题讨论】:
标签: android android-intent broadcastreceiver intentfilter