为了支持Dierect Boot模式,系统提供了两个存储数据的地方:
1.Credential encrypted storage,默认存储数据的地方,仅在用户解锁手机后可用。
2.Device encrypted storage,主要对应的就是Direct Boot使用的存储空间。在Direct Boot模式下和用户解锁手机后都可以使用的存储空间

一般情况下,应用是无法在Direct Boot模式下运行的
如果需要某个app能够在Direct Boot模式下运行,需要注册相关APP的组。
应用组件申请在Direct Boot模式下运行:在AndroidManinfest.xml中设置 android:directBootAware="true"。

android 7.0 在启动Launcher之前会先启动一个FallbackHome,之后才会启动Launcher,通过调查发现FallbackHome属于Settings中的一个activity,Settings的android:directBootAware为true,并且FallbackHome在category中配置了Home属性,而Launcher的android:directBootAware为false,所有只有FallbackHome可以在direct boot模式下启动。
所以在ActivityManagerService启动Home界面时,从PackageManagerService(boolean startHomeActivityLocked)中获取到的Home界面就是FallbackHome

现在启动Launcher时多了一个流程,导致启动launcher比原来6.0要慢(大约4S)。这4S有时会造成设备黑屏

问题汇总
1)去除FallbackHome的android.intent.category.Home属性会导致停留在开机动画之后的界面。因为此时仍旧处于未解锁状态,且Launcher非directBootAware应用,PMS中的限制导致此时无法启动Launcher;
2)修改FallbackHome和Launcher的优先级仍旧先启动FallbackHome,但是强制包名类名写启动指定launch是否可以还需要验证
3)将Launcher标记为directBootAware应用会导致开机后Launcher crash。因为Launcher中的widget仍旧是非directBootAware的,此时仍旧无法启动,除非将widget相关的APP都标记为directBootAware;
4)PMS依赖手机当前的状态,需要user解锁才能正常查询。如果强制修改,不考虑DirectBoot和当前启动状态,修改后会有无法开机的现象。

另外还有一个未知问题,android7.0预装三方launch时代码编译集成到system/app/会停留到开机动画接口,无法启动launch,但是直接copy到system/app然后在压缩生成system.img 就可以启动launch,app在编译过程中做了哪些限制欢迎大神指导!

Anroid 7.0 Direct Boot研究相关推荐

  1. Android 7.0 ----- Direct Boot模式(AppClock)

    本文针对闹钟应用对于此次Android 7.0增加DB模式所需要的应对方式. Direct Boot模式:设备已开机但用户尚未解锁设备时,Android 7.0 将在安全的"直接启动&quo ...

  2. Direct Boot Mode

    Direct Boot Mode 简介 在Android M及之前,当开机启动到锁屏界面时,所有程序阻塞,等待用户解锁(即使未设置开机密码,也需要滑屏解锁)后才会继续. 而Android 7.0引入了 ...

  3. android 5.0主题风格研究

    虽然关于Material Design开发的文章已经很多了,我也转载和翻译了一些,但是在实际应用过之后才感叹,"实践才是检验真理的唯一标准". 通常,我们使用5.0的主题风格是利用 ...

  4. 【原创】FlashFXP_4.0.0.1510 值得研究

    FlashFXP_4.0.0.1510 值得研究,朋友公司最近又买了一台服务器,但是接入的是电信宽带(原先的服务器是网通宽带),朋友想用电信宽带作为镜像,从原服务器上同步(下载)一些视频文件,而且要能 ...

  5. 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用

    相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...

  6. 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(三)-移植到ESP32平台(1)

    相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...

  7. macOS Ventura 13.0 (22A380) Boot ISO 原版可引导镜像

    macOS Ventura 13.0 正式版于今日(2022.10.25)发布,连同 iOS 16.1.iPadOS 16.1.tvOS 16.1 和 watchOS 9.1. 此次发布的是完美的 1 ...

  8. kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-7260-13.ucode failed with error -2

    kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-7260-13.ucode failed with error -2 升级 ...

  9. 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(二)-使用gateway-management-ui

    相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...

最新文章

  1. GDB attach到进程
  2. k8s Service之ClusterIP示例
  3. ARM 之三 Keil uVision4、Keil uVision5、Keil C51同一系统下的共存
  4. 什么?面试官问我Java内存模型!这不得给我加薪?
  5. rabbitmq启动失败-报Failed to load advanced configuration file解决方法
  6. 机器学习速成课程 | 练习 | Google Development——编程练习:特征集
  7. jaccard相似度_推荐系统中常用计算相似度的方法和工具
  8. oracle9可以访问8,使用Oracle9i全索引扫描快速访问数据
  9. oracle如何储存超长汉子_oracle Clob 存储超长字符
  10. IsPostBack结论
  11. PRD产品需求文档原型模版 Axure RP格式
  12. Apalis Imx8qm记录
  13. 计算机装机拆机教程,DIY装机教程-电脑拆机图文教程详解
  14. 苹果可以用android流量监控,iPhone怎么看流量统计?
  15. uniapp中canvas将矩形图片绘制成圆形图片以及保存canvas到手机
  16. 思岚科技亮相2017电子博览会 倍受瞩目
  17. ABAP 如何发布odata服务
  18. openwrt双wan环境搭建以及适配UPnP
  19. 以政府门户网站统筹电子政务发展
  20. 学习前端的实用网站——未完待续

热门文章

  1. css如何设置滚动条,设置滚动条需要用到的参数
  2. Hibernate主键生成策略总结
  3. linux 应用层gpio中断_linux下GPIO中断驱动US100传感器--Apple的学习笔记
  4. Android /assets
  5. (8)Artemis检测(僵尸连接、慢消费者、代理异常)
  6. 利用新浪API实现股票交易实时监控
  7. model.named_parameters()与model.parameters()
  8. 批处理删除注册表分支方法
  9. android微信分享大图长图,裁剪微信分享缩略图片(长缩略图取中裁剪)
  10. ObjectARX:C# ObjectARX--起步