- PhoneWindowManager.java 的 key handler 處理 Power Key
- 叫起 Global Dialog, 畫出 Power Off Dialog, 或是直接 call ShutdownThrea.
- ShutdownThread, broadcast message, call 底層的 reboot 或 shutdown
重要變數就是 mReboot... 決定是要 reboot 還是關機。 reboot 通常是作 recovery 時要的。 public static void shutdown(final Context context, boolean confirm) confirm 是說,需不需要 ShutdownThread 畫出 Dialog 讓 user confirm 最後 call beginShutdownSequence() 他基本就是 啟動 ShutdownThread()..
ShutdownThread 的主體 run() 被改寫了。
原來是作 reboot 和 poweroff
這裡,power off 被改成 hibernation
--- 所以,系統已經沒有辦法 power off 了.....
他直接用了 mReboot 變數:
if(mReboot) reboot else hibernation
所以沒辦法達到三個狀態選擇。 (真懶)
又因為 run( ) 是 ShutdownThread 的主體,所以沒版法作兩套,讓 caller 決定 run 哪一個。
所以只好用醜陋的方法。
再加一個變數 IWantToPowerOff -- 代表真的是要PowerOff, 不是 Hibernation
沒有留言:
張貼留言