sticky广播通过Context.sendStickyBroadcast()函数来发送,用此函数发送的广播会一直滞留,当有匹配此广播的广播接收器被注册后,该广播接收器就会收到此条信息。

使用此函数需要发送广播时,需要获得BROADCAST_STICKY权限

<uses-permission android:name="android.permission.BROADCAST_STICKY"/>

sendStickyBroadcast只保留最后一条广播,并且一直保留下去,这样即使已经有广播接收器处理了该广播,当再有匹配的广播接收器被注册时,此广播仍会被接收。如果你只想处理一遍该广播,可以通过removeStickyBroadcast()函数来实现。这里创建广播的过程和普通广播是一样的过程,这里就不过多介绍了。

ps:目前由于一些安全问题,系统已经不建议使用 Sticky broadcasts。