Android 唤醒流程(二)
上一篇《Android 唤醒流程》 简单讲解在 Rockchip 平台从 ATF(ARM Trusted Firmware) 到唤醒休眠的 ARM 芯片。本篇文章继续讲解内核上报电源键之后的唤醒逻辑和触发的哪些服务。
作者:炭烤毛蛋 ,点击博主了解更多。
文章目录
- Android 唤醒流程(二)
- 1 Android 从 IMS 捕获电源键事件
- 2 Android 进入 PMS 处理电源键逻辑
-
- 2.1 [PhoneWindowManager.java] --> dispatchUnhandledKey()
- 2.2 [PhoneWindowManager.java] --> dispatchUnhandledKey() --> interceptFallback()
- 2.3 [PhoneWindowManager.java] --> dispatchUnhandledKey() --> interceptFallback() --> interceptKeyBeforeQueueing()
- 2.4 [PhoneWindowManager.java] --> dispatchUnhandledKey() --> interceptFallback() --> interceptKeyBeforeQueueing() --> interceptPowerKeyDown()
- 2.5 [PhoneWindowManager.java] --> powerPress()
- 2.6 [PhoneWindowManager.java] --> powerPress() --> powerMultiPressAction()
- 2.7 [PhoneWindowManager.java] --> powerPress() --> powerMultiPressAction() --> wakeUpFromPowerKey()
- 2.8 [PhoneWindowManager.java] --> powerPress() --> powerMultiPressAction() --> wakeUpFromPowerKey() --> wakeUp()
- 3. Android 进入 PM 唤醒流程
- Tips
- 结语
1 Android 从 IMS 捕获电源键事件
开机状态下电源键被按下后,经过内核 input 子系统上报到 IMS(InputManagerService)。InputManagerService是一个 Android 系统服务,分为 Java 层和 Native 层两部分,Java 层负责与 WMS 通信,而 Native 层则是 InputReader 和 InputDispatcher 两个输入系统关键组件的运行容器。