cob*_*ect 102 android android-intent android-broadcast
Android sendStickyBroadcast和sendBroadcastAndroid有什么区别?
Com*_*are 117
以下是Android SDK所说的内容sendStickyBroadcast():
执行"粘性"的sendBroadcast(Intent),意味着您发送的Intent在广播完成后保持不变,以便其他人可以通过registerReceiver(BroadcastReceiver,IntentFilter)的返回值快速检索该数据.在所有其他方面,这与sendBroadcast(Intent)的行为相同.
通过操作系统发送的粘性广播的一个例子是ACTION_BATTERY_CHANGED.当你呼吁registerReceiver()采取这一行动时 - 即使是null BroadcastReceiver- 你也可以获得该Intent行动的最后一次广播.因此,您可以使用它来查找电池的状态,而无需注册电池的所有未来状态更改.
Uma*_*ari 49
类型: - 本地,普通,有序和粘性
普通广播
: - 使用sendBroadcast()
: - 异步广播
: - 任何接收者接收广播而不是任何特定的顺序
有序广播
: - 使用sendOrderedBroadcast()
: - 同步广播
: - 接收方接收优先级广播
: - 我们也可以简单地中止这种类型的广播
本地广播
: - 仅在广播仅在同一进程内使用时使用
粘性广播
: - 系统发送和处理后,普通广播意图不再可用.
: - 使用sendStickyBroadcast(Intent)
: - 相应的意图是粘性的,这意味着您发送的意图在广播完成后保持不变.
: - 因为这个,其他人可以通过registerReceiver(BroadcastReceiver,IntentFilter)的返回值快速检索数据.
: - 除了sendBroadcast(Intent)之外.
Raj*_*esh 10
sendbroadcast() - 普通广播,但我们也可以设置优先级.
sendstickybroadcast() - 通过此方式传递的意图将适用于通过代码注册的未来用户(动态接收器).将坚持使用android的广播,并将重新传送或重新播放给任何广播接收器的未来请求
当某人发送粘性广播时sendstickyBroadcast(intent);,该广播将可用于使用动态接收器的未来用户.
但是现在你不应该使用 sendStickyBroadcast()它被弃用的方法
来自Android文档:
此方法在API级别21中已弃用.不应使用粘性广播.它们不提供安全性(任何人都可以访问它们),没有保护(任何人都可以修改它们)以及许多其他问题.建议的模式是使用非粘性广播来报告某些内容已发生变化,并使用另一种机制让应用程序在需要时检索当前值
我希望这有帮助.
| 归档时间: |
|
| 查看次数: |
59838 次 |
| 最近记录: |