Android 休眠后获取音量键的输入

May 7, 2014

Android

手头上有个联想 A690 Android 双卡双待手机,用了一年左右的时间,电源键基本失灵了,按个几十下才能点亮屏幕。

电源键不好用,希望用音量键代替。锁屏比较简单,写个 Android 应用,几行代码分分钟就能搞定的事情。

但是待机的时候要唤醒屏幕就比较复杂了。

网上有一个比较普遍的方法是修改/system/usr/keylayout/目录下的 *.kl 文件,把 VOLUMN_UP 和 VOLUMN_DOWN 修改成 POWER ,这个的提前是需要 root 权限。A690获取 root 的权限比较简单,有很多一键root工具,成功率极高。

修改 *.kl 文件的方法其实并不能解决根本问题。Android 手机在待机的情况下,为了降低功耗,只会对电源键进行处理,其他的输入都会在 framework 层被丢弃掉。所以通过修改 *.kl 文件的方法,在手机进入低功耗的模式下的时候(一般黑屏一小会后会进入低功耗模式),按音量键并不能唤醒屏幕。写 Service 是不能获取到音量键的按键输入的。

有一个解决办法,写一个应用,让应用一直在运行,对 wake lock 进行操作,不让手机进入休眠的模式。这种方法以牺牲手机电池为代价。

--- EOF ---

添加新评论