Android4.2.2系统中,长按power键,弹出来的对话框如下:
关机
飞行模式
静音模式
现在需要将中间的“飞行模式”改为“重启”
方法如下所示:
1、修改文件frameworks/base/policy/src/com/android/internal/policy/impl/GlobalActions.java
import android.os.Vibrator;
+import android.os.PowerManager; //import一个PowerManager类,用来实现重启功能
import android.provider.Settings;
@@ -255,9 +256,35 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
return true;
}
});
+ mItems.add( //增加重启的选项
+ new SinglePressAction(
+ com.android.internal.R.drawable.ic_lock_reboot, //这里的图片资源需要编译到framework-res.apk
+ R.string.global_action_reboot) { //同上
+
+ public void onPress() {
+ // shutdown by making sure radio and power are handled accordingly.
+ //mWindowManagerFuncs.shutdown(true); //屏蔽关机代码
+ PowerManager pm = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE);
+ pm.reboot(null); //加入自己的重启代码
+ }
+
+ public boolean onLongPress() {
+ mWindowManagerFuncs.rebootSafeMode(true);
+ return true;
+ }
+
+ public boolean showDuringKeyguard() {
+ return true;
+ }
+
+ public boolean showBeforeProvisioning() {
+ return true;
+ }
+ });
+
// next: airplane mode
- mItems.add(mAirplaneModeOn);
+ //mItems.add(mAirplaneModeOn); //屏蔽飞行模式
这样修改后,需要编译如下的目录:
mmmframeworks/base/core/res/ -B
mmm frameworks/base/ -B
mmm frameworks/base/policy/ -B
最后重新打包烧录即可。