Although device encryption, default or not, isn’t something which has been offered natively within Android devices for ages, it’s now a useful feature to have if you prefer a little more security and privacy on your smartphone or tablet in the event of a lost or stolen device. The only issue with encrypted devices is that they can take a little while to decrypt and this can potentially cause issues for users who have to deal with random reboots. The act of a random reboot is something which no user can readily protect themselves from, hence the nature of it being random, and the unfortunate fact is that it does happen once in a while. The reboot itself is not generally the problem for an encrypted device, but rather the results of alarms, notifications and the like not working until the device is done decrypting.
If you’re someone who relies on alarms to get up in the morning and the phone reboots randomly, you could miss your alarm, or you may miss an important phone call you’ve been waiting on. With Android N, Google is introducing a new feature of the OS called Direct Boot, and while this isn’t something which users will generally be interacting with very often, in the off chance that a device does reboot on a user, Direct Boot will allow apps like alarms to function while also allowing notifications for emails, voice calls, and other apps come through during the decryption process so they aren’t missed.
Google also notes that accessibility services will be available during the decryption process after reboots, so for users that need them they won’t be left without them. Although this may sound like a great under the hood function of Android N, it won’t necessarily allow limited access in this restricted mode for every application out of the box. Developers will have to enable the functionality within their apps, by first setting the app to broadcast a LOCKED_BOOT_COMPLETED intent, which will then allow the system to receive the broadcast and make the limited amount of data available to users before the device is fully unlocked. Which app data is accessible during this process is also set by the developer.