一、接收按键事件在frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java interceptKeyBeforeQueueing函数里面,调用interceptPowerKeyUp
二、interceptPowerKeyUp 函数会调用powerPress
三、来看一下powerPress 函数 调用shutDown去关机
四、shutDown函数会打开一个Activity
五、frameworks\base\core\java\com\android\internal\app\ShutdownActivity.java里面调用关机服务
六、frameworks\base\services\core\java\com\android\server\power\PowerManagerService.java
七、
八、打开关机线程frameworks\base\services\core\java\com\android\server\power\ShutdownThread.java