生活随笔
收集整理的這篇文章主要介紹了
Android 关机弹出菜单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
特別推薦:
移動資訊——<<我是開發者>>個人專訪
關于android遠程登錄源碼解析
Android源碼之熱血足球+PPT講解
在Android系統中,長按Power鍵默認會彈出對話框讓你選擇“飛行模式”,“靜音”,“關機”等功能。這些功能對于手機非常適用,但是對于機頂盒產品就沒有什么必要了。本文簡單介紹一下怎樣定制關機界面。 ?????? 我的目標是長按Power鍵,將會關機,彈出“設備將要關機”選擇對話框。如果可以選擇“是”關機,和“否”返回系統。 ?????? 彈出對話框的代碼位于: frameworks\policies\base\phone\com\android\internal\policy\impl\PhoneWindowManager.java顯示對話框的代碼如下:
Runnable mPowerLongPress =
new Runnable() {
public void run() {
mShouldTurnOffOnKeyUp =
false ;
performHapticFeedbackLw( null , HapticFeedbackConstants.LONG_PRESS,
false ); sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS); showGlobalActionsDialog();
}
}; ?調用showGlobalActionsDialog方法將會顯示上面提到的顯示“飛行模式”,“靜音”,“關機”,選項的對話框。 ?????? 因為我的目標是不要這個節目,把這行代碼注釋掉,替換成關機的代碼就可以了。那么關機的代碼在哪里呢?這段代碼位于: frameworks\policies\base\phone\com\android\internal\policy\impl\GlobalActions.java該文件的createDialog方法中,有如下代碼:
mItems =
Lists.newArrayList(
// 靜音模式mSilentModeToggle,
// mAirplaneModeOn飛機模式下,
// last: power off new SinglePressAction( com.android.internal.R.drawable.ic_lock_power_off, R.string.global_action_power_off) {
public void onPress() {
// shutdown by making sure radio and power are handled accordingly.
ShutdownThread.shutdown(mContext,
true );
}
public boolean showDuringKeyguard() {
return true ;
}
public boolean showBeforeProvisioning() {
return true
}
}); 從代碼中我們可以看出,如果選擇上述對話框的“關機”選項之后,將會調用ShutdownThread的shutdown方法來關機。shutdown方法的第二個參數標識是否彈出詢問對話框。 ?????? 我們可以修改PhoneWindowManager.java的代碼,最終代碼如下:
Runnable mPowerLongPress =
new Runnable() {
public void run() {
mShouldTurnOffOnKeyUp =
false ;
performHapticFeedbackLw( null , HapticFeedbackConstants.LONG_PRESS,
false );
sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);
// showGlobalActionsDialog();
ShutdownThread.shutdown(mContext,
false );
} }; ?
?
總結
以上是生活随笔 為你收集整理的Android 关机弹出菜单 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。