发送广播设置flags值, 指定特定接收者
Intent intent = new Intent(BluetoothHeadsetClient.ACTION_CALL_CHANGED);
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
sendBroadcast(intent, ProfileService.BLUETOOTH_PERM);
flags值:
Intent.FLAG_RECEIVER_REGISTERED_ONLY,
- 在代码中registered receiver可接收到广播, AndroidManifest.xml reciver控件不能接收
Intent.FLAG_RECEIVER_REPLACE_PENDING,不
- 新广播将替换广播列表中己有的待发广播, 位置与待发广播一样, 通过 Intent.filterEquals判断两广播是否匹配
Intent.FLAG_RECEIVER_FOREGROUND,
- 在代码中注册的receiver可以接收到广播
Intent.FLAG_RECEIVER_NO_ABORT,
- 设置广播不能被abort, 用于有序广播
Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT,
- 在BOOT之前才能接收的广播
Intent.FLAG_RECEIVER_BOOT_UPGRADE,
Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND,
- 让在AndroidManifest.xml中注册的receiver可以接收到
Intent.FLAG_RECEIVER_EXCLUDE_B