安卓15开机启动Fallbackhome去除--成果展示

rk3562 android 14 延长开机动画规避fallbackhome黑屏 本文介绍了在Android设备上去除开机加载过程(fallbackhome)的修改方法。针对非手机平板类设备,通过修改ResolverActivity.java、PackageManagerService.java和FallbackHome.java文件,实现跳过原生引导界面直接进入指定启动页面。关键修改包括:设置默认启动器包名和类名、在PackageManagerService中添加包名检查、以及注释掉FallbackHome中的进度显示代码。同时需要注意补充引导完成的属性设置,否则可能导致开发者模式或U 阅读详情
AI摘要

本文围绕安卓开机启动Fallbackhome能否去除展开。针对学员作业,作者尝试实现并取得成果,分无安全密码锁和有安全密码锁两种情况分析。无锁时可提前解锁ce去除;有锁因安全级别无法提前解锁,不建议去除。是否去除需依设备需求而定。

背景:

针对给学员朋友布置的作业:
安卓开机启动Fallbackhome是否可以直接去除?–学员作业

马哥这边也尝试进行实现,实现后也发现确实针对Fallbackhome去除的这个小项目取得了一定的成果,这个Fallbackhome去除成果主要分为2个情况进行分析。
在这里插入图片描述

1、没有设置安全密码锁情况

这种情况下其实是可以考虑进行提前解锁ce的,实现后的效果如下

在这里插入图片描述
大家明显看到确实在系统启动后,可以直接从bootanimation直接进入到正常的手机Launcher上,进入也没有看到有任何的Fallbackhome画面

实现的核心思路:
考虑在框架里面AMS的systemReady方法中进行提前的解锁ce的方式。(详细源码vip群分享)

2、设置安全密码锁情况

这种情况下因为有密码,手势等,属于安全级别,无法通过直接解锁ce方法进行解锁,这种情况下就无法在没有解锁前解锁ce,所以还是需要有一个Fallbackhome的Activity。
在这里插入图片描述
这块其实就不建议去除Fallbackhome了,因为只要有密码等安全设置,系统是无法在没有用户输入密码前直接解锁ce。

总结:

大家都可能为了提高开机启动速度,或者说不想让用户看到Fallbackhome画面也好,都会有想办法去除Fallbackhome的需求或者想法,但是大家需要注意的是android以前也是没有Fallbackhome的,也是指导出现了CE加密才出现的,本质上Fallbackhome就是作为系统还没解锁前作为launcher的Activity进行启动,不然系统啥Activity都无法启动的话,就会一直处于开机动画,无法进入系统。

那么最后是否可以去除Fallbackhome呢?
这个其实需要看你的需求,如果你的设备是那种根本不存在让用户输入密码等解锁情况,那么其实是可以考虑去除,也确实可以起到一定的优化第一次开机时间。
但是如果设备还是会有设置密码,或者九宫格解锁这种,那么就不建议去除Fallbackhome。

更多framework实战开发干货,请关注下面“千里马学框架”

深入Android开机流程:FallbackHome机制详解与WindowManagerService的协同工作 本文深入解析Android开机流程中的FallbackHome机制与WindowManagerService(WMS)的协同工作原理。FallbackHome作为安全网,确保系统在Launcher异常时仍能提供可视化界面,而WMS则负责管理启动动画的生命周期。文章详细介绍了它们的触发条件、代码实现及优化方案,帮助开发者更好地理解和优化Android启动体验。 阅读详情

相关推荐

android 11.0 去掉android正在启动弹窗 屏蔽FallbackHome机制 直接进入默认Launcher

在11.0 的产品定制化开发中,由于产品要求不需要锁屏功能,所以在每次开启启动的过程中,都会弹窗显示android正在启动,过2秒钟进入系统Launcher3,产品要求去掉这个弹窗直接进入系统Launcher3桌面。

安卓兼职framework和app工程师的博客 7207

fallbackhome黑屏闪黑问题修改方案1:开机动画延迟退出时间-framework实战开发

核心思路:既然是因为开机动画退出后,fallbackhome显示期间有黑屏,正常launcher显示时候没有黑屏,那么就考虑把开机动画的退出时间延长,延长到正常桌面显示以后才退出。一般每个Activity显示后会回调onWindowsDrawn方法,所以可以在这里进行检测是不是launcher已经绘制了,如果绘制了既可以启动调用相关的开机动画结束的属性设置。2、上面屏蔽了正常开机动画结束流程,但是开机动画具体哪里进行合适的结束呢?答案就是:在Launcher显示以后要触发正常开机动画结束的属性设置。

learnframework的博客 1118

android 10.0屏蔽FallbackHome 直接进入默认Launcher(去掉android正在启动弹窗)

在android 7.0以后引入了FallbackHome机制,在系统解锁之前会首选进入FallbackHome界面,等收到解锁广播以后在进入默认Launcher 这就是在进入launcher之前经常会看到 Android正在启动 的系统弹窗 客户需求去掉 Android 正在启动 提示文字 要求直接进入Launcher FallbackHome 那FallbackHome是什么呢? FallbackHome是原生setting的一个activity,且配置了DirectBoot mode。launcher

安卓兼职framework和app工程师的博客 6263

framework常见rom定制功能

系统rom定制对于刚入门的伙伴们来说还是有些困难的,本课程从基本的定制需求开始一点点积累项目经验的,平时项目中的经典案例会慢慢更新

Android 13.0 屏蔽FallbackHome机制去掉android正在启动直接进入默认Launcher功能实现

在13.0的系统产品开发中,对产品的细节化要求也是常有功能,比如在首次开机开机动画播完进入Launcher桌面时黑屏进入Launcher ,有黑屏不太美观,在重启以后会在进入桌面后会显示android正在启动等一会进入Launcher,这就是系统FallBackHome机制,由于产品 开发需要要求去掉优化掉这两个功能

安卓兼职framework和app工程师的博客 2580

Android15车载系统开机冷启动流程源码解析

本文主要介绍Android15车机系统开机冷启动的流程,暂不包含bootloader,仅从kernel开始直至Launcher首页展示。

jidapenglin28的专栏 253

Android Framework实战开发篇

广大的Android应用开发者是不是对Android系统充满着好奇,是不是很想学习Android系统开发,可惜自己学习难度又太大,本课程将手把手教你学Android Framework开发,带你走进Android系统开发的殿堂,全课程以实战为主,让你自己动手可以定制自己喜欢的Android系统,让你的Android职业道路越走越顺。学完本课程能让你学会如下知识点:-学习对BootAnimation的启动源码分析-学习对BootAnimation的opengl绘制源码分析-学习对BootAnimation的zip方式绘制源码分析-学习制作一个带有时间的显示的BootAnimation的动画-深入理解zip方式定制BootAnimation-学习android native层的posix线程实现-学习android native层封装的Threads类源码及使用-学习zygote的启动源码分析-学习zygote的进程创建过程源码分析-学习zygote启动systemserver过程分析-学习systemserver的启动分析-学习systemserver的HomeActivity的启动源码分析-学习systemserver与zygote进行socket通信创建进程源码分析-学习systemserver启动FallbackHome的Activtiy-学习FallbackHome结束及跳转Launcher源码分析-学习native c/c++层的堆栈打印

别再搞混了!MATLAB通信仿真中EbN0转SNR的保姆级公式推导与避坑指南

本文深入解析MATLAB通信仿真中EbN0与SNR转换的核心公式,揭示数字仿真与理论系统的关键差异。通过真实案例展示错误参数设置导致的隐蔽问题,并提供完整的参数自查清单和正确实现代码,帮助工程师和学生避免常见错误,确保仿真结果准确可靠。

weixin_28746223的博客 348

安卓首次启动Fallbackhome是否可以直接去除?--学员作业

的Fallbackhome本身好像没有干啥啊,它也只是等待检测设备解锁后启动Launcher,Fallbackhome本身自己又没有调用啥解锁,属于被动,所以普遍认为系统会自己解锁,解锁后自然会触发系统重新进行Launcher的启动。针对这个去除Fallbackhome去除后是否可以正常进入Launcher的问题,学员们也进行了激烈讨论,很多学员朋友都猜想肯定还是会进入Launcher的,只是可能时间会长一点,那么真实的情况是真的会吗?然后运行模拟器:emulator。aosp 15 编译模拟器。

learnframework的博客 1447

从TL431光耦到集成隔离器:3种反激电源反馈方案全对比,你的项目到底该选哪个?

本文深入对比了反激电源设计中TL431光耦、集成隔离器和原边反馈三种主流反馈方案的优缺点,帮助开发者在电源设计中选择最适合的方案。从精度、成本、隔离等级等多维度分析,为反激式(Flyback)拓扑的应用提供实用选型指南。

weixin_30536513的博客 399

【前端】【面试】【业务场景】前端如何获取并生成设备唯一标识

问题:前端如何获取并生成设备唯一标识?核心要点:浏览器原生信息有限,但通过组合多个维度可生成设备指纹(Device Fingerprint),用于唯一标识设备。常见方式浏览器信息(User-Agent)屏幕与系统参数本地存储标识(localStorage / cookie)第三方指纹库(如 FingerprintJS)方式优点缺点手动组合指纹实现简单不稳定,识别率低持久化强容易被用户清除识别率高、稳定性好依赖第三方库IP 地址识别网络识别粗略共享网络环境下重复可能大。

qq_59344127的博客 1793

Android 13 开机启动Launcher黑屏

开机以后,设备会有一个“android正在启动”这样的弹框,这个界面是一个叫FallbackHome的Activity来展示的。2.解锁过程中的弹窗:在系统解锁之前,可能会出现一个"Android正在启动"的弹窗页面,用于指示系统正在加载和准备。去掉FallbackHome的效果实际上是让FallbackHome的view不显示,然后开机启动动画延长一下,直到系统解锁后再停止开机动画,完成这样较为顺滑的过渡。1.默认Launcher故障检测:系统会检测默认的Launcher应用是否能够正常加载和运行。

zy814819798的博客 1556

基于ESP32-S3的电子吧唧DIY:蓝牙传图、触摸交互与动态显示全解析

本文详细解析了如何利用ESP32-S3芯片DIY一个功能丰富的电子吧唧(智能徽章)。项目核心实现了通过蓝牙低功耗(BLE)接收手机小程序发送的图片,并存储至文件系统,最终在带触摸功能的TFT屏幕上进行动态显示与交互。教程涵盖了从硬件选型、软件开发环境搭建,到蓝牙通信、图片处理与触摸功能实现的完整步骤,并分享了实用的调试技巧,适合创客和嵌入式爱好者动手实践。

weixin_42510243的博客 672

Android15 遇到的部分问题汇总

发送的广播是根据用户来传递的,如果你想在切换用户后对之前用户的应用做些保存或清理,你需要获取之前用户的UserHandle并sendBroadcastAsUser,这样发送的广播就可以传递给上一个用户的静态广播接收器了。项目上写了一个系统服务来记录当前的用户,并接收系统切换用户的广播,切换广播带有目标用户的参数,这样我们就可以发送不同的广播给不同的用户,来控制一些全局显示的功能。异常的触控笔输入流程可能导致本机的窗口抛掉后续的输入事件,根据log找到源码,发现有个判断是flag配置的。

L9102fun的博客 686

XCAT集群管理实战:从裸机到节点批量部署

在数据中心与HPC集群运维中,裸机配置与操作系统批量部署是关键环节。PXE引导、IPMI带外管理等基础技术为自动化装机提供了底层支持,而集群管理工具则将这些能力整合为可扩展的运维体系。XCAT作为一款开源集群管理工具,通过数据库驱动的方式统一管理DHCP、TFTP、HTTP等服务,实现从裸机发现、系统安装到电源控制的全流程自动化。本文从XCAT的核心设计出发,详细介绍了环境准备、安装配置、节点定义、镜像分发及常见问题排查,帮助运维人员快速构建高效的集群部署流程,降低规模化管理的复杂度。

weixin_30899023的博客 241

图像相似度的评价指标 : FID(Fréchet Inception Distance)

FID(Fréchet Inception Distance) 是用来计算真实图像与生成图像的特征向量间距离的一种度量。如果FID值越小,则相似程度越高。最好情况即是FID=0,两个图像相同。 实际计算: 参考链接:https://machinelearningmastery.com/how-to-implement-the-frechet-inception-distance-fid-from-scratch/ # example of calculating the frechet inceptio

weixin_43723625的博客 1万+

android核心技术摘要

本文整理了Android开发相关的实用技术资料,包括:1)APP默认权限设置;2)APK签名方法与系统签名文件生成;3)APK静默安装实现;4)AOSP user版本开启ADB调试;5)自定义开机引导流程;6)启用logcat本地日志存储。内容涵盖系统定制、应用部署和调试等关键环节,持续更新中,欢迎收藏并提供补充内容。

我的博客 240

别再让步进电机‘发烧’了!用FOC闭环驱动实现精准力矩控制(基于P0斩波恒流版)

本文详细介绍了如何利用FOC闭环驱动技术(基于P0斩波恒流版)解决步进电机过热和力矩控制不精准的问题。通过对比传统开环控制的缺陷,展示了FOC在降低温度、提升精度和能效方面的显著优势,并提供了硬件配置、软件实现及性能优化的完整方案。

weixin_30872157的博客 566

学员作业:aosp14上黑屏/闪黑问题的分析及解决案例

但巧合的是前天有学员朋友在解决他们公司疑难bug时候,也有问道和这个fallbackhonme场景闪黑,黑屏问题,群里也进行相关答疑等讨论,后来认真确认后发现复现的场景就是一样的。有对aosp上模拟器有没有开机向导进行了深入的剖析,但是发现在第一次启动安卓模拟器时候,发现开机动画结束进入桌面时候,有大概3-5s的黑屏时间,这个问题当时因为我们重点关注是开机向导相关日志抓取,没有认真分析。aosp14-r5(其他aosp13,15应该也可以,但是没有确认哈)那下面来告诉大家黑屏问题复现步骤,及相关作业要求。

liaosongmao1的专栏 253

Java Swing教程-16. Swing中的图形绘制

这篇教程介绍了Java Swing中的图形绘制功能,主要内容包括: Graphics类的基本使用 - 介绍了如何重写paintComponent方法实现自定义绘制,以及基本图形绘制方法(线条、矩形、椭圆、多边形等) 文本与图片绘制 - 讲解了文本绘制方法、字体设置和图片加载绘制技术 颜色与字体设置 - 包括预定义颜色、RGB自定义颜色、透明色设置以及字体样式控制 案例实现 - 提供了一个简单绘图程序的框架,支持鼠标绘制不同图形、选择工具和自定义颜色等功能 教程通过代码示例详细演示了各种绘图操作,适合Java

无 232

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Aerial 在小米 MiTV-MFTR0 上的桌面接管实战:HOME 锁定、待机复活与 HDMI-CEC 处理

本文基于 Aerial(`app.orchard.tv`)仓库中 `docs/devices/xiaomi-mitv-mftr0.md` 的设备笔记,完整梳理 Aerial 在小米 MiTV-MFTR0(codename freeguy)上实现「开机自动接管桌面」的全部难点与解法:为什么 `set-home-activity` 会被固件白名单架空、如何用无障碍服务在待机强杀后复活、以及 1.15

gitblog_00444的博客 217

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

小米 MiTV-MFFU0(finch)实测笔记:Aerial TV 在 HyperOS TV 上的安装、HOME 接管与屏保策略

本文以 [小米 MiTV-MFFU0 设备笔记](https://link.gitcode.com/i/856e67a2bccff2cb6654c65eb6bb0d5e) 为主体,完整记录这台 Android 14 / HyperOS TV / MT9655 电视上安装 Aerial TV 的实测结论:固件规格、与同源机型 MiTV-MFTR0 的差异、HOME 锁定的绕法、开机自启验证、屏保竞争

gitblog_00580的博客 532

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

aerial-tv 开发交接与真机维护实战:从编译安装、日常运维到发版流程

这篇指南以仓库中的交接说明 [docs/HANDOFF.md](https://link.gitcode.com/i/aa422229c3bdb80d4b8e0f02390c711e) 为主体,完整呈现 Aerial(aerial-tv)项目当前版本的状态、真机验证矩阵、开发环境、日常编译部署命令、发版步骤、调试技巧与历次踩坑结论。读完之后,你能够独立接手这个 tvOS 风格的国产电视桌面:在小米

gitblog_00224的博客 1006

aerial-tv 的 AI 代理协作开发体系:从 CLAUDE.md 入口到真机验证铁律

aerial-tv 仓库用「一行入口 + 一份约定文件 + 分层文档」的方式,为人类与 AI 代理建立了一套可执行、可追责的开发协作体系:[CLAUDE.md](https://link.gitcode.com/i/7af16157458000f9fb7fc150c1e5d38c) 作为唯一入口指向 [AGENTS.md](https://link.gitcode.com/i/f1244fefea

gitblog_00496的博客 114
上一篇: 安卓首次启动Fallbackhome是否可以直接去除?--学员作业
下一篇: 补充讲解perfetto/systrace的CPU Trace信息详解和抓取方法
千里马学框架
博客等级 码龄6年 1万+粉丝 648原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值