Can Android go to deep sleep while it is processing a broadcast in BroadcastRceiver? Is it required to create a partial wakelock as early as possible in BroadcastReceiver onReceive method or it can be created anywhere in onReceive method (and passed to a service)?
AlarmManager documentation states The Alarm Manager holds a CPU wake lock as long as the alarm receiver's onReceive() method is executing. This guarantees that the phone will not sleep until you have finished handling the broadcast.
But what about other broadcasts? Or is this dependent only on sender of the broadcast?