In android there are 3 kinds of Intents,
An intent that is used with sticky broadcast, is called as sticky intent. This intent will stick with android system for future broadcast receiver requests.
sendStickyBroadcast() performs a
sendBroadcast(Intent) known as sticky, i.e. the Intent you are sending stays around after the broadcast is complete, so that others can quickly retrieve that data through the return value of
registerReceiver(BroadcastReceiver, IntentFilter). In all other ways, this behaves the same as
sendBroadcast(Intent). One example of a sticky broadcast sent via the operating system is
ACTION_BATTERY_CHANGED. When you call
registerReceiver() for that action -- even with a null BroadcastReceiver -- you get the Intent that was last broadcast for that action. Hence, you can use this to find the state of the battery without necessarily registering for all future state changes in the battery.