Android JellyBean Keyguard锁屏 键盘锁属性

  次阅读 作者:智能小宝 来源:互联网 2016-01-19 12:22 我要评论(0)

Android Keyguard 4.1 的锁屏在/frameworks/base/policy/src/com/android/internal/policy/impl中,第一次全模块 的读Framework,有很多都看不懂,希望大家可以指教!

1.AccountUnlockScreen.java

当用户忘记他们密码的时候就会调用这个函数使用他们的帐号密码解锁并且重置手机锁,这里面代码很简单就不细说了。最终判断成功的方法 为:postOnCheckPasswordResult();

2.BiometricSensorUnlock.java

生物识别传感器解锁?不知道怎么翻译,这是一个接口,从名字上分析感觉是为了面部解锁/指纹解锁或其他跟生物体有关的解锁方式预留的一个接口。

3.FaceUnlock.java

面部解锁, 其中有个布尔变量叫mServiceRunning,说是为了判断一个Service是否正在运行的。现在还不知道Service是什么Service, 可能是解锁模块后台跑的主Service.代码看到后面发现在start()的时候会绑定一个叫IFaceLockInterface的 Service.IFaceLockInterface是一个aidl文件,我不知道这意味着什么,可能是底层C/C++实现的一个Service?这个 文件里面大部分都是关于FaceUnlock View的逻辑处理,什么显示消失阿,并没有看到面部解锁的原理,不知道跑哪里去了,很可能在那个Service中。但是那个Service是在哪里呢? 大大指导一下。

4.GlobalActions.java

全局行为,这段代码就是处理锁屏界面长按Power键弹出的Dialog。关于静音模式/飞行模式和关机的。

5.IconUtilities.java

图标工具,好像就是一个图片处理的工具类,提供了一个drawable转bitmap的方法,还有个绘制bitmap按下的方法

6.KeyguardScreen.java

键盘锁接口.

7.KeyguardScreenCallback.java

键盘锁界面回调.

8.KeyguardStatusViewManager.java

键盘锁状态视图管理,SIM卡状态/电池状态/闹铃/时钟等等的管理

9.KeyguardUpdateMonitor.java

键盘锁更新监视器,该类的主要功能就是根据监视系统状态值的改变(例如:时间、SIM卡状态、电池电量;使用广播监听),根据这种状态值的改变 回调监听了该状态信息的对象实例。当其接收到状态改变的广播之后会通知KeyguardStatusViewManager修改界面上显示的状态。

10.KeyguardViewBase.java

键盘锁基础视图,为LockPatternKeyguardView提供了一组通用的方法 。需要值得注意的方法就是他对某些KeyEvent的监听,当他消费监听到这些KeyEvent,我们的App就监听不到这些KeyEvent了 。常用的有KEYEVENT_VOLUME_UP/DOWN等。

11.KeyguardViewCallback.java

键盘锁视图回调,提供了一些接口用来接受用户操作Screen的结果。

12.KeyguardViewManager.java

键盘锁视图管理,包装了WindowManager功能了,提供了添加、删除锁屏界面的功能。

13.KeyguardViewMediator.java

核心类 ,该类是唯一实现了KeyguardViewCallback的类。功能:该类提供了一些接口,由PhoneWindowManager)去访问控制 Keyguard....该类的初始化是在PolicyWindowManager的构造函数中创建的。按电源键之后就是通过该类处理锁屏事件的。

14.KeyguardViewProperties.java

键盘锁属性,提供了创建界面的通用方法。

15.KeyguardWindowController.java

键盘锁窗体控制者,提供通用接口,判断该界面是否需要显示输入法窗口。

16.LockPatternKeyguardView.java

图形键盘锁视图,作为LockScreen和UnLockScreen界面的载体,控制显示哪个界面。这里有个疑问是无法看出来解锁的Mode 存储方式,不知道是数据库,还是xml还是别的什么,不知道那位大大知道?

17.LockPatternKeyguardViewProperties.java

感觉就是用来处理某些解锁界面需要显示键盘的。

18.LockScreen.java

锁屏界面,好吧,我没有看懂。。。那个拖拽锁的方法在那里。。。?

19.PasswordUnlockScreen.java

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...