android:directBootAware="true" 支持“直接启动”模式 | Android 开发者 | Android Developers
请求在“直接启动”模式下运行
应用必须先向系统注册其组件,然后才能在“直接启动”模式下运行或访问设备加密存储。应用通过将组件标记为加密感知来向系统注册。如需将您的组件标记为加密感知,请在清单中将 android:directBootAware 属性设为 true。
当设备重启后,加密感知组件可以注册以接收来自系统的 ACTION_LOCKED_BOOT_COMPLETED 广播消息。此时,设备加密存储可用,您的组件可以执行需要在“直接启动”模式下运行的任务,例如触发已设定的闹铃。
以下代码段示例说明了如何在应用清单中将 BroadcastReceiver 注册为加密感知并为 ACTION_LOCKED_BOOT_COMPLETED 添加 intent 过滤器:
<receiver
android:directBootAware="true" >
...
<intent-filter>
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
</intent-filter>
</receiver>
在用户解锁设备后,所有组件均可访问设备加密存储和凭据加密存储。