本文實例講述了Android 6.0開發實現關機菜單添加重啟按鈕的方法。分享給大家供大家參考,具體如下:
	修改:
	/trunk/LINUX/android/frameworks/base/core/res/res/values/config.xml
添加數組name為config_globalActionsList的值
	修改:
	/LINUX/android/frameworks/base/services/core/java/com/android/server/policy/GlobalActions.java
添加變量:
private static final String GLOBAL_ACTION_KEY_USERS = "users";private static final String GLOBAL_ACTION_KEY_SETTINGS = "settings";private static final String GLOBAL_ACTION_KEY_LOCKDOWN = "lockdown";private static final String GLOBAL_ACTION_KEY_REBOOT = "reboot";
在 private GlobalActionsDialog createDialog()內添加:
if (GLOBAL_ACTION_KEY_POWER.equals(actionKey)) {  mItems.add(new PowerAction());} else if (GLOBAL_ACTION_KEY_REBOOT.equals(actionKey)) {  mItems.add(new RebootAction());} else if (GLOBAL_ACTION_KEY_AIRPLANE.equals(actionKey)) {  mItems.add(mAirplaneModeOn);} else if (GLOBAL_ACTION_KEY_BUGREPORT.equals(actionKey)) {  if (Settings.Global.getint(mContext.getContentResolver(),  Settings.Global.BUGREPORT_IN_POWER_MENU, 0) != 0 && isCurrentUserOwner()) {    mItems.add(getBugReportAction());  }}在空白處添加:
private final class RebootAction extends SinglePressAction {  private RebootAction() {    super(com.android.internal.R.drawable.ic_lock_power_reboot, R.string.global_action_reboot);  }  @Override  public Boolean showDuringKeyguard() {    return true;  }  @Override  public Boolean showBeforeProvisioning() {    return true;  }  @Override  public void onPress() {    try {      IPowerManager pm = IPowerManager.Stub.asInterface(ServiceManager.getService(Context.POWER_SERVICE));      pm.reboot(true, null, false);    }    catch (RemoteException e) {      Log.e(TAG, "PowerManager service died!", e);      return;    }  }}結束
需要編譯以下目錄
	/trunk/LINUX/android/frameworks/base
	/trunk/LINUX/android/frameworks/res
希望本文所述對大家Android程序設計有所幫助。
新聞熱點
疑難解答