30.15 开机自启动的功能设计
30.15.1 普通模式
对于Android7.0之前的系统,如果设计APP在系统启动之后自启动,只需在APP添加处理ACTION_BOOT_COMPLETED广播消息的代码即可。
30.15.2直接启动模式
从Android7.0开始,系统有了一种新的启动模式“直接启动”模式,针对这种模式需要做特别处理。
当设备已开机但用户尚未解锁设备时,Android N 将在安全的“直接启动”模式下运行。 为支持此操作,系统为数据提供两个存储位置:
凭据加密存储,这是默认存储位置,仅在用户解锁设备后可用。
设备加密存储,该存储位置在“直接启动”模式下和用户解锁设备后均可使用。
默认情况下,应用不会在“直接启动”模式下运行。如果应用需要在“直接启动”模式下进行操作,可以注册在此模式期间应运行的应用组件。 对于需要在“直接启动”模式下运行的应用,常见的一些用例包括:
已安排通知的应用,如闹钟应用。
提供重要用户通知的应用,如短信应用。
提供无障碍服务的应用,如 Talkback。
如果应用在“直接启动”模式下运行时需要访问数据

本文详细介绍了Android应用如何实现在开机自启动和直接启动模式下运行,以及如何访问设备加密存储和接收用户解锁通知。通过设置`android:directBootAware`属性为`true`,应用可以注册`LOCKED_BOOT_COMPLETED`广播,在设备重启后执行必要任务。同时,讲解了如何在用户解锁设备后访问凭据加密存储,并提供了相关代码示例。
订阅专栏 解锁全文
1578

被折叠的 条评论
为什么被折叠?



