Android开机锁屏流程: 首先:手机开机时,在SystemServer类的init2()方法中会启动线程类ServerThread的run方法如下: WindowMan

Android开机锁屏流程:

首先:手机开机时,在:

WindowManagerService wm = null; ...

try {

wm.systemReady(); //systemReady()方法。

mPolicy.systemReady(); //调用PhoneWindowManager .java中的systemReady方法。

phoneWindowManager.java中:

mKeyguardMediator.onSystemReady(); //进行待机锁屏及解锁逻辑

3. KeyguardViewMediator.java

中的onSystemReady()方法中:

doKeyguardLocked();

中的showLocked()方法:

mShowKeyguardWakeLock.acquire(); //确保屏幕处于唤醒状态

Message msg = mHandler.obtainMessage(SHOW);

mHandler.sendMessage(msg);

发送异步消息:

执行handleShow(); 方法。

handleShow方法中调用:

mKeyguardViewManager.show();

在这个show方法中:

mKeyguardView = mKeyguardViewProperties.createKeyguardView(mContext, mUpdateMonitor, this);

这个createKeyguardView方法是调用的LockPatternKeyguardViewProperties.java中createKeyguardView方法:

c reateKeyguardView方法构建一个LockPatternKeyguardView();

4.LockPatternKeyguardView();

在这个构造方法中调用了keyguardScreenCallback()方法,

调用updateScreen(getInitialMode(), false); //getInitialMode获取是锁屏还是解锁界面

假如是解锁的话调用recreateUnlockScreen()方法,

这个方法中 addView(mUnlockScreen);//

然后调用createUnlockScreenFor()方法,

在这个方法中里判断解锁方式。

其中的这个方法initializeBiometricUnlockView(unlockView);

用来初始化人脸解锁,

代码流程后,接着执行

@Override

public void show() {

// Emulate activity life-cycle for both lock and unlock screen.

if (mLockScreen != null) {

((KeyguardScreen) mLockScreen).onResume();

}

if (mUnlockScreen != null) {

((KeyguardScreen) mUnlockScreen).onResume();

}

if (mBiometricUnlock != null && mSuppressBiometricUnlock) {

mBiometricUnlock.hide();

}

}

开机锁屏的大致流程就是这样了。

android锁屏流程_Android开机锁屏流程分析相关推荐

  1. 工控液晶屏开机白屏怎么回事,开机白屏解决方法?

    工控液晶屏开机白屏怎么回事,开机白屏解决方法? LCD( Liquid Crystal Display),现在已经是随处可见的设备之一,工业上的使用量也随着科技而增多!现在,工业行业都已经开始使用工控 ...

  2. linux电脑开机蓝屏,Windows 7电脑开机蓝屏怎么办 电脑开机蓝屏解决方法linux操作系统 -电脑资料...

    今天出现电脑开机蓝屏这个问题是安装了Windows 7系统之后,我使用的是联想机器,后来在官方找到了关于电脑开机蓝屏解决方法,下面我把此文章分享一下各位朋友可参考, 故障现象: 近日微软推送8月份的更 ...

  3. Android系统永不熄屏和取消开机锁屏功能

    Android系统取消开机锁屏功能和永不熄屏 源码 frameworks/base/packages/SettingsProvider/src/com/android/providers/settin ...

  4. android分屏模式_Android的分屏模式开发注意事项

    android7.0 的API开始有了分屏功能,在测试时注意到主页面在分屏模式下,页面所占比例在增大或者减小的时候都会调用oncreat方法,所以查资料总结一下分屏对页面的生命周期的影响以及开发时的注 ...

  5. 计算机开机后黑屏 只有鼠标,开机黑屏只有鼠标

    品牌型号:联想GeekPro 2020 系统:win10 1909 64位企业版 部分用户可能电脑型号不一样,但系统版本一致都适合该方法. 电脑开机黑屏只有鼠标怎么办?下面就给大家分享开机黑屏只有鼠标 ...

  6. java会导致电脑黑屏吗,电脑开机黑屏只显示鼠标怎么办

    黑屏故障一般发生在老旧的电脑上面,导致电脑开机黑屏的原因也是多种多样,而且大多数都是硬件问题.那么电脑开机黑屏还剩鼠标的原因是什么呢?有什么解决方法呢?今天,小编针对这个问题给大家整理了三种解决方法, ...

  7. 计算机启动后出现黑屏鼠标,电脑开机黑屏只有鼠标,小编教你电脑开机黑屏鼠标能动怎么办...

    脑补一下,这不一个画面:我们在使用电脑的过程中,在开机的时候出现黑屏现象,而我们只能摆动鼠标箭头,却无法应用电脑内的app软件.怎么办?无法适从,也不知道该怎么去解决,下面,小编就给大家带来了开机黑屏 ...

  8. e420 thinkpad 开机黑屏_thinkpad E420开机黑屏主板门维修

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 北京联想e40进水死机不开机主板维修 联想E40笔记本维修 北京联想笔记本黑屏 死机维修地址:北京市海淀区苏州街长远天地大厦A1座3层4305 联想笔记本 ...

  9. 虚拟机上服务器开机经常黑屏,VMware虚拟机开机黑屏怎么办?虚拟机开机就黑屏的完美解决办法...

    VMware虚拟机开机黑屏怎么办?虚拟机开机就黑屏的完美解决办法,黑屏,开机,虚拟机,解决办法,完美 VMware虚拟机开机黑屏怎么办?虚拟机开机就黑屏的完美解决办法 易采站长站,站长之家为您整理了V ...

最新文章

  1. OpenCV 中的 convertTo 函数
  2. pytorch模型3.13
  3. 通过这个故事理解啥是 NIO
  4. 设计模式总结 (5)行为型模式续
  5. [c/c++] programming之路(25)、字符串(六)——memset,Unicode及宽字符,strset
  6. 【数据结构与算法】双链表的Java实现
  7. select count(1)什么意思_Python VS MySQL,我发现了select和print之间的“相通点”!
  8. VS2012下基于Glut 绘制矩形管示例程序:
  9. 2016蓝桥杯C++A:消除尾一(二进制运算)
  10. 南大通用发布数据库新产品 携手用户伙伴点亮世界级
  11. LINUX信息命令查看大全
  12. 编写有效用例_阅读笔记03
  13. android adb安装 apk,adb 安装并运行 apk
  14. JSONP跨域请求原理解析
  15. 搜狗推送接口-搜狗推送口子
  16. python纵向输出字符串,python-字符串方法,格式化输出
  17. 樊登读书会终身成长读后感_《终身成长》读书笔记
  18. VMWare虚拟机处理器数量与每个处理器内核数量概念,以及分配CPU资源详解
  19. 「TCG 规范解读」初识基础设施工作组
  20. odbc建oracle dsn,Linux平台配置Oracle ODBC DSN的方法

热门文章

  1. 剑指offer:面试题33. 二叉搜索树的后序遍历序列
  2. Rocksdb 的 rate_limiter实现 -- compaction限速
  3. Linux系统性能分析:内存 优化
  4. 织梦文章内容屏蔽替换词语多个敏感字词
  5. CSS常见布局解决方案
  6. Easyui combobox下拉框默认选中第一项
  7. Chapter 2 Open Book——29
  8. Java 集合框架(二)—— ArrayList
  9. Windows 7 操作系统核心文件
  10. 在Ubuntu上安装Snort入侵检测系统。