
Keyguard
Rom_Fisher
知识的学习在于一点点的积累!!!
展开
-
SystemUI 解锁界面新增返回按钮
不积跬步无以至千里一.前摘查看现在最新的竞品手机你就会发现解锁界面一般不会再显示虚拟按键了,我感觉是感觉此界面更想是全屏界面,不想把布局给到虚拟按钮的布局上,因此这里去掉虚拟按键这个布局显示,自然就需要添加一个返回按钮来代替此功能。二.正文关于这个button怎么布局,以及什么样式我就不说了,因设计而异,这里说一下如果实现这个和虚拟按键一样作用的back键的处理。1.让我们看一下SystemUI本身是怎么处理的,其实就明白了,因为解锁界面属于statusbar,因此我们看一下stat原创 2020-07-15 17:52:39 · 488 阅读 · 0 评论 -
SystemUI 锁屏界面显示的充电“还需几小时充满”提示语
不积跬步无以至千里一.前摘 项目说客户有个需求就是把这个充电还有多长时间才能充满的提示语去掉,因为这个多长时间才能充满的时间从底层获取的时候受此时充电的电流的大小会有影响,然后会出现充电剩余时间忽大忽小的现象,因此这里建议去掉。二.正文 这里的锁屏的充电提示语利用的是锁屏第一界面的控件KeyguardIndicationTextView,通过这个控件进行消息的提示,让我们直接上才艺。代码路径如下:app/src/com/android/syste...原创 2020-06-28 18:01:20 · 820 阅读 · 0 评论 -
SystemUI 用一张图理解了人脸与指纹,密码解锁的关系
不积跬步无以至千里原创 2019-07-31 12:18:44 · 957 阅读 · 0 评论 -
SystemUI 人脸识别与相机冲突的整理文档
前摘: 最近处理了一个关于SystemUI中添加了人脸识别功能后,引发了一个与原生逻辑冲突的问题就是"人脸与相机冲突的问题“。原因: 因为人脸识别的触发条件多为亮屏的时候,这里引起冲突的主要原因是此刻正在进...原创 2019-12-15 22:15:15 · 1435 阅读 · 0 评论 -
SystemUI 解决使用混合密码解锁时人脸或指纹解锁时会弹输入弹框
不积跬步无以至千里一.前摘: 这里存在此bug,会有两个现象(都是在为混合密码解锁): 1.在锁屏的第一界面,进行人脸或者指纹解锁时,会显示弹出了输入法的密码框的现象,看起来怪怪的 2.在锁屏的第一界面,跳转到其他的可以在锁屏之上的界面时(即Activity,此时为Occluded状态),也会出现弹起输入法的弹框的现象,看起来很下饭二.分析: 这里其实都...原创 2020-03-06 20:09:17 · 555 阅读 · 0 评论 -
SystemUI 锁屏点击通知解锁界面重叠(bouncer界面与锁屏第一界面)
不积跬步无以至千里一.前摘 其实这里是原生设计,google认为这样是正常的现象,设计的如此,但是咱们国内呢,考虑的看见界面层叠混乱,这样就感觉体验不好,因此认为需要改善,当然可以看大厂的手机确实都处理此问题,那咱们也处理一下吧。二.分析 这里说一下吧,其实这里会出现层叠主要是因为当点击通知的时候会调起锁屏的二级解锁界面即bouncer界面,而此...原创 2020-03-26 20:43:49 · 980 阅读 · 0 评论 -
SystemUI 10.0设置SIM卡锁,重启手机,解SIM卡锁之后点击返回,锁屏界面显示空白
不积跬步无以至千里一.前摘 这个bug是属于在SIM卡解锁的一种情形下产生的,其中的原因有在解锁界面中PIN、Pattern、Password中去掉了导航栏的back键并添加了返回键,其实在自测过程中发现如果不去掉导航栏,也会在这个界面出现的,是偶现出现导航栏,点击back键同样都会出现此问题。这里返回按钮处理是模仿的back键的点击逻辑处理。二.现象与分析其中...原创 2020-04-06 23:34:22 · 636 阅读 · 0 评论 -
SystemUI 人脸识别解锁后指纹消耗次数并没有清除
不积跬步无以至千里一.前摘 android10.0后安卓系统已经开始内部支持人脸识别了,和指纹识别的设计非常相似,归为生物识别技术,但是咱们这里写的问题是android9.0或者之前的问题。因为现在市面上已经好多安卓设备锁屏中已经适配了人脸识别解锁功能,而市面上已经有很多人脸识别的技术了,比如商汤的,face++,还有一些小厂商的等等。 看过一些人脸识别的...原创 2020-03-22 12:29:29 · 657 阅读 · 0 评论 -
SystemUI 指纹解锁或者人脸解锁效果优化
不积跬步无以至千里现象:在平常的项目中有测试提出了对比华为手机等竞品手机,发现有如下两点对比竞品手机中,手机亮屏在锁屏第一屏指纹解锁(或者支持人脸解锁)1.发现解锁会闪一下黑屏2.发现解锁会有一个过渡动画(即一个上移动的动画)分析:其实这里是因为指纹解锁是通过...原创 2020-02-29 23:30:41 · 967 阅读 · 0 评论 -
SystemUI 优化锁屏解锁界面层叠问题
不积跬步无以至千里一.前摘 其实前边有一篇文章就是解决其中一个情形的此问题(锁屏点击通知解锁界面重叠),而现在又出现了一种情形就是锁屏状态中下拉状态栏点击一些快捷设置中的一些按钮同样会出现解锁界面与第一界面重叠的问题,其实分析与上篇(锁屏点击通知解锁界面重叠)的分析是一样的,都是因为锁屏第一界面在显示解锁界面的时候并没有收起来导致的,因此我们这里就直接上修改的代码了就不再重...原创 2020-04-10 19:31:10 · 861 阅读 · 0 评论 -
SystemUI 灭屏没有声音或者说上锁没有声音
不积跬步无以至千里一.前摘在我们平时使用手机时,在你灭屏上锁或者解锁的时候都会有一个声音提示你当前的上锁状态。但是此时出现了此时的bug:屏幕解锁可以听见解锁的声音,而屏幕灭屏的时候听不见灭屏的声音。二.分析锁屏上锁的声音以及解锁后的解锁声音都是在SystemUI里的功能逻辑,我们看一下代码逻辑。路径如下:app/src/com/android/systemui/key...原创 2020-04-21 16:50:25 · 439 阅读 · 0 评论 -
SystemUI 密码解锁界面点击屏幕不亮屏
不积跬步无以至千里一.前摘 熟悉SystemUI模块的童鞋应该知道,SystemUI大部分都是window窗口的各大布局,然后出现不同的场景,而这里做的亮屏操作也是自己做的处理,这里测试就提出了一个bug。bug描述如下:在密码解锁界面当屏幕处于半亮屏状态,你去点击非输入密码区域,并不能重新点亮屏幕。二.分析1.怎么点亮屏幕? 通过观察发现SystemUI中各大对应的功能布局都是自己进行处理进行的亮屏操作,SystemUI经常通过如下逻辑实现亮屏。...原创 2020-05-25 20:14:32 · 389 阅读 · 0 评论 -
SystemUI 解决密码输入界面与锁屏界面重复(原生系统同样存在)
不积跬步无以至千里一.前摘 层叠效果如上图,其实我们前边已经写过优化类似的场景文章:优化锁屏解锁界面层叠问题 ,这里是对这种场景的补充。这种场景是点击自定义通知里面的控件有会启动一些Activity这种场景,因为此时在锁屏的状态下,所以需要先去解锁才能启动某些界面,然后这里会导致界面重叠的情形。二.分析与解决 通过在Bouncer界面的show方法中打印调用栈,查到了此调用的逻辑,调用的逻辑如下:app/src/com/android/systemui...原创 2020-05-30 18:05:03 · 578 阅读 · 0 评论 -
SystemUI中新添加Window(屏保)与导航栏交互出现的常见问题
不积跬步无以至千里 最近项目项目里添加了屏保功能,屏保实际为锁屏或者屏幕休眠,出现的一个Window,此用以显示时间与通知的重要信息,并具有省电模式的一个界面。这一块的实现主要是通过添加一个Window,此Window的层级位于锁屏之上,但是又要低于一些系统重要的弹窗Window(比如调节音量、PowerUI重启的等等),因此此处挑选了Window层级为 WindowManager...原创 2018-10-20 16:47:16 · 898 阅读 · 3 评论 -
SystemUI 锁屏解锁界面提示语在触碰指纹后消失
不积跬步无以至千里一.前摘原创 2020-06-11 16:02:55 · 416 阅读 · 0 评论 -
SystemUI 上滑解锁困难容易失败的分析与解决方案
不积跬步无以至千里一.前摘 我们玩手机的经常的一个行为就是亮屏,向上滑动屏幕然后到解锁界面输入密码然后解锁,而今天我们遇到的这个问题就是向上尝试滑动了好几次都没有到锁屏解锁界面,这个问题会让用户非常苦恼,这不是耽误我的时间吗?因此这个问题对用户的产品体验影响还是很大的。因此我们今天就要解决这个问题。二.分析 这里滑动解锁的逻辑在哪呢?通过寻找代码逻...原创 2020-03-31 18:15:57 · 1874 阅读 · 2 评论 -
SystemUI 密码解锁后指纹识别清除次数
不积跬步无以至千里之前也是比较发闷儿,密码解锁后清楚指纹识别的次数是在哪里处理的,今天正好查找一个问题正好发现,记录下来1.调用密码验证流程代码路径:frameworks/base/services/core/java/com/android/server/locksettings/LockSettingsService.java/** * Verify user cr...原创 2019-09-17 15:58:07 · 1275 阅读 · 4 评论 -
SystemUI 通过设置锁屏偏好消息不能显示正常显示,重启手机恢复
不积跬步无以至千里前摘:测试此问题,描述:设置,安全隐私,锁屏时的偏好设置,首次在锁定屏幕消息输入内容,灭屏亮屏,锁屏界面无显示内容,开关机恢复分析:通过查看代码发现本身显示此消息的View是owner_info,此控件本身是View.GONE的状态,要想显示出来,需要通过updateDark(),就是通过主题的切换,或者通过初始化流程也可以,对其控件的Visible属性进行更...原创 2020-01-02 12:31:16 · 378 阅读 · 0 评论 -
SystemUI 去掉锁屏解锁后“应用执行的过渡动画”
不积跬步无以至千里前摘: 测试提了一个bug,说其它各大厂商在解锁时候,应用不会执行解锁后的一个过渡动画,其实这里的过渡动画是原生google版本为了解锁后不太生硬加的一个动画,我这里动画是界面向上弹出的动画(这个界面就是对应着锁屏解锁后展示的那个界面),而我们这里还是google原生的版本。在这里我发现当你通过灭屏幕的指纹解锁的时候是没有动画的。其实逻辑是通过这里控制的,如...原创 2019-12-03 14:36:40 · 1331 阅读 · 0 评论 -
SystemUI KeyguardBouncer的消失
Bouncer界面即为安全解锁界面,Bouncer界面原生是有5中解锁方式,分为PIN码,图案,复杂密码,SIM卡PIN码,SIM卡PUK码. 上一节说了Bouncer界面的加载,现在说一下Bouncer界面是怎么消失的,Bouncer界面的消失,一般为咱们正常的输入正确的密码然后消失,来大家一起看一下. 文件路径如下: app/src/com/android/keyguard/ Key...原创 2019-08-10 19:40:56 · 815 阅读 · 0 评论 -
SystemUI 修改滑动解锁不显示敏感通知并且没有隐藏敏感内容
不积跬步无以至千里 其中原生设计上是滑动解锁和密码解锁是有区别的,滑动解锁不是安全模式,因此是可以显示一些锁屏通知,并且当前模式下也就可以显示一些敏感通知了. 1.滑动解锁隐藏敏感通知①.这里是在NotificationData中shouldFilterOut调用这里用它来进行过滤是否安全模式是否显示/** * @return true ...原创 2019-08-14 11:06:42 · 499 阅读 · 0 评论 -
SystemUI KeyguardBouncer的加载
Bouncer界面就是安全解锁界面,Bouncer是在StatusBar的window上加载和移除.一.keyguardbouncer在statusbar布局上添加,移除:1.code/app/src/com/android/systemui/statusbar/phone/StatusBar.javaprotected void startKeyguard() {...mStatus...原创 2019-08-05 21:06:22 · 485 阅读 · 0 评论 -
SystemUI 锁屏解锁后去除蒙层(黑黑的一层)
不积跬步无以至千里 这两天要修改一个需求就是去除锁屏解锁后的蒙层(即解开锁后黑黑的蒙蒙的一层),之前就有想处理这个效果,把他去掉但是没有找到位置,这两天又有了这个需求了,解决了,记录一下。其中修改的地方为:/src/com/android/systemui/keyguard/KeyguardViewMediator.javaprivate void tryKeyguardDo...原创 2019-07-01 10:15:27 · 847 阅读 · 0 评论 -
SystemUI 关于修改Android7.0 锁屏4种解锁失败等待时间规则
不积跬步无以至千里 本文讲解前三种解锁的实现,指纹由下一篇来讲解。主要需要有两点1、每次都有5次解锁。2、随着尝试次数的增加,时间增长。3、关机重启后仍然能计算时间。(指纹解锁不需要)前摘 修改这4种解锁方式是:Pin码解锁、密码解锁、图案解锁和指纹解锁,修改解锁失败的等待时间?做过SystemUI相关模块都知道解锁这一块的验证密码等等操作一般是...原创 2018-08-22 18:54:54 · 2850 阅读 · 6 评论