如前一篇博文所分析,我们可以使用广播的形式在快速按下两次音量下键的时候发出广播,以方便客户端进行捕捉.既然有两种方式可以实现该Issue那么哪种方式是首选呢?     我个人推荐使用启动服务的方式,这样的话可以避免多次连续按键导致重复发送广播,而使用服务不会重复启动服务. 具体实现方式如下: /framework/base/policy/src/com/android/policy/impl/PhoneWindowManager.java private long lastTime=0;…
    如前一篇博文所分析.我们能够使用广播的形式在高速按下两次音量下键的时候发出广播,以方便client进行捕捉. 既然有两种方式能够实现该Issue那么哪种方式是首选呢?     我个人推荐使用启动服务的方式,这种话能够避免多次连续按键导致反复发送广播.而使用服务不会反复启动服务. 详细实现方式例如以下: /framework/base/policy/src/com/android/policy/impl/PhoneWindowManager.java private long lastTi…
百度经验连接(亲测可用) http://jingyan.baidu.com/article/380abd0a77ae041d90192cf4.html win7下如何建立ftp服务器 http://jingyan.baidu.com/article/574c5219d466c36c8d9dc138.html…
曾多次想要在Linux下比较目录a和目录b中文件列表的差别,然后对目录a比目录b中多出的文件.少掉的文件分别做处理.但是,在网上搜索了多次也都没找到能直接处理好的工具. 所以想了很多不少方法,自我感觉都不错,而且网上似乎没有这方面的文章,所以分享出来给大家.如果各位有更好的工具或者方法,盼请留下说明(本文第2部分:图形化的比较结果搜集自网上,我也没有在图形化界面下操作的需要,所以没有多做介绍) 以下是本文有些地方涉及到的目录结构. [root@node1 ~]# tree directory1…
研究这个问题的初衷在于项目中碰到了一个问题:横屏的时候灭屏再亮屏,亮屏的时候用户能够清晰的看到先启动竖屏(过程1)再切换到横屏的过程,因为灭屏的时候onSaveInstanceState()保存的时横屏时的状态信息,因此过程1竖屏会使用到横屏的状态參数并且这一过程用户是可见的.因此会导致一些意想不到的Bug的出现. 探究使用的实例中我用了屏幕的横竖屏和宽这两个配置信息来说明生命周期中此时系统所知道的屏幕的客观状态,注意这个客观状态与我们在onSaveInstanceState()中要保存的"状态…
本篇从按下power按键后,按键事件从InputManagerService 传到PhoneWindowManager.java开始分析power 按键做屏幕亮灭过程的分析,关于power 按键的其他行为参考另一篇博文(Android 7.0 Power 按键处理流程) 言归正传,本篇涉及的几个模块(文件)如下,先做个简单的介绍有个直观大概的了解,方便后面流程细节的理解. Ø  PowerManagerService.Java:(/frameworks/base/services/core/ja…
Android 锁屏状态/锁屏密码等相关 开始是在设备管理器方面找方法,但一直不行,可能在公司系统组同事的帮助下,知道KeyguardManager这个类 /** * 当前系统锁屏是否有密码 * @param mContext * @return */ public boolean hasScreenLockPwd(Context mContext){ KeyguardManager keyguardManager = (KeyguardManager )mContext.getSystemSe…
实现锁屏的方式有多种(锁屏应用.悬浮窗.普通Activity伪造锁屏等等).但国内比较主流并且被广泛应用的Activity伪造锁屏方式. 实例演示图片如下: 系列文章链接如下: [Android] Android 锁屏实现与总结 (一) [Android] Android 锁屏实现与总结 (二) [Android] Android 锁屏实现与总结 (三) 代码文件地址: https://github.com/wukong1688/Android-BaseLockScreen 1.广播注册 2.A…
本篇注意接着上篇[Android7.0 PowerManagerService 之亮灭屏(一)]继续分析量灭屏的流程,这篇主要分析PMS的状态计算和更新流程,也是PMS中最为重要和复杂的一部分电源状态管理. 接上篇继续,在Notifier的广播处理完毕后就会调用PMS的内部函数updatePowerStateLocked()来更新全局电源状态.         任何涉及到电源的操作(如量灭屏和应用获取wakeLock锁等)PMS都会调用updatePowerStateLocked()来更新电源的…
权限                                                                                             <uses-permission android:name="android.permission.DEVICE_POWER"/> <uses-permission android:name="android.permission.WAKE_LOCK"/>…