android broadcast intent flags解析

本文详细解析了在Android中发送广播时使用的Intent标志位,如FLAG_RECEIVER_FOREGROUND允许注册的接收器接收广播,FLAG_RECEIVER_REPLACE_PENDING替换待发送的广播,以及如何控制不同类型的接收器能否接收到广播等。
摘要由CSDN通过智能技术生成

发送广播设置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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值