需要改动的文件:
frameworks\base\core\res\res\values\strings.xml
frameworks\base\policy\src\com\android\internal\policy\impl\GlobalActions.java
frameworks\base\core\java\android\view\WindowManagerPolicy.java
frameworks\base\core\res\res\values\strings.xml
frameworks\base\core\res\res\values-zh-rCN\strings.xml
frameworks\base\core\res\res\values\symbols.xml
frameworks\base\policy\src\com\android\internal\policy\impl\GlobalActions.java
frameworks\base\core\java\android\view\WindowManagerPolicy.java
frameworks\base\services\java\com\android\server\wm\windowManagerService.java
frameworks\base\services\java\com\android\server\power\ShutdownThread.java
首先在长按电源键的列表中添加重启按钮,在 frameworks\base\policy\src\com\android\internal\policy\impl\GlobalActions.java文件中添加如下
// first: power off
mItems.add(
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.
Log.i(TAG, "[SHTDWN] onPress, request a clean shutdown");
mWindowManagerFuncs.shutdown(true);
}
public boolean onLongPress() {
Log.i(TAG, "[SHTDWN] onLongPress, request a reboot safe mode");
mWindowManagerFuncs.rebootSafeMode(true);
return true;
}
public boolean showDuringKeyguard() {
return true;
}
public boolean showBeforeProvisioning() {
return true;
}
});
// add reboot
mItems.add(new SinglePressAction(
com.android.internal.R.drawable.ic_lock_power_off,
R.string.global_action_reboot) {
public void onPress() {
Log.v(TAG, "[REBOOT] onPress, request a reboot without safe mode");
mWindowManagerFuncs.reboot(true);
}
public boolean showDuringKeyguard() {
return true;
}
public boolean showBeforeProvisioning() {
return true;
}
});
<pre name="code" class="java"> // add reboot end
// one more thing: optionally add a list of users to switch to if (SystemProperties.getBoolean("fw.power_user_switcher", false)) { addUsersToMenu(mItems); } mAdapter = new MyAdapter(); AlertParams params = new AlertParams(mContext); params.mAdapter = mAdapter; params.mOnClickListener = this; params.mForceInverseBackground =