在深度睡眠时在android中处理硬件按钮

时间:2013-09-12 19:01:27

标签: android button event-handling

所以我的主要问题是: 如果手机进入睡眠状态几分钟,则无法启动mp3播放。 当手机进入睡眠状态几分钟时,有90%的可能性没有硬件按钮工作,只有电源按钮。 无法理解为什么电源按钮始终工作而其他按钮只有10%。当我点击疯狂5秒时,它通常会注册。 如果手机醒着,按钮效果很好。

blade_keypad.kl
key 158   BACK              WAKE_DROPPED
key 139   MENU              WAKE_DROPPED
key 102   HOME              WAKE

key 115   VOLUME_UP         WAKE
key 114   VOLUME_DOWN       WAKE
key 116   POWER             WAKE
key 142   POWER             WAKE

key 226   HEADSETHOOK   WAKE

不确定它是内核还是android问题。 使用中兴刀片cm-10.1-20130724-KonstaKANG刀片。 如何在深度睡眠时测试按下的按钮?想到也许你可以启用调试选项,所以它将keypress添加到locgat。但是怎么样? 所以,如果它有效,那么它就是一个安卓漏女巫节目向其他人播放关键新闻事件?我得看一看。 可能按钮不会唤醒手机,但为什么电源按钮会将其唤醒?为什么会有所不同?

编辑: 好吧我做了一些阅读......深度睡眠导致处理器完全停止时没有任何运行。区域硬件按钮唤醒CPU购买硬件irq?或者它只是查询它?也许只是电源按钮有一个irq,另一个按钮被查询?

1 个答案:

答案 0 :(得分:0)

我的xperia s stock 4.0.3有这个问题。试图找到解决方案,但没有运气:(。所以我搜索了系统/ usr / keylayout文件夹中的所有* .kl文件中的“HEADSETHOOK”关键字,最后通过将“WAKE”添加到“key 226 HEADSETHOOK”来修复该问题在Generic.kl中,所以它变成了“关键的226 HEADSETHOOK WAKE”。之后我更讨厌我的手机:))