且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

android电源添加重启项

更新时间:2022-08-16 14:12:53

android电源添加重启项

首先找到按电源弹出的选项的源文件,也就是freamwork/base/policy/src/com/android/internal/policy/impl/GlobalActions.java

再找到private AlertDialog createDialog() 方法,里面有一个mItems的添加选项,在里面加入

          //add by xxnan 2012-9-13
                 new SinglePressAction(  
                       com.android.internal.R.drawable.ic_lock_power_off,  
                       R.string.global_action_reboot) {  
      
                       public void onPress() {  
                      // reboot  
                      ShutdownThread.reboot(mContext,null,false);               
                     }  
  
                      public boolean showDuringKeyguard() {  
                       return true;  freamwork/base/policy/src/com
                     }  
  
                      public boolean showBeforeProvisioning() {  
                       return true;  
                     }  
               //add by xxnan 2012-9-13 

代码即可,添加重启选项,但是R.string.global_action_reboot必须在资源文件下添加,再编译资源文件。。。

在 base/core/res/res/values/string.xml和base/core/res/res/values-zh-rCN/string.xml下添加

<string name="global_action_reboot">reboot</string>
    <string name="reboot_progress">rebooting...</string>  
然后找到freamwork/base/policy/src/com/android/internal/app/Shutdown.java的private static void beginShutdownSequence(Context context)
方法,将pd.setTitle(context.getText(com.android.internal.R.string.power_off));
        pd.setMessage(context.getText(com.android.internal.R.string.shutdown_progress));

改为if(mReboot){     // reboot progress  
             pd.setTitle(context.getText(com.android.internal.R.string.global_action_reboot));  
             pd.setMessage(context.getText(com.android.internal.R.string.reboot_progress));
         }
       else
        {
        pd.setTitle(context.getText(com.android.internal.R.string.power_off));
        pd.setMessage(context.getText(com.android.internal.R.string.shutdown_progress));
        }

然后就是编译了,先编译源码下的framework/base/core/res

再编译base,最后编译policy(按顺序,不然会报错)

最后将编译好的out下的system/framework/framework.jar和framework-res.apk和android.policy.jar替换你机器里system/framework的三个文件,重启,ok完成了,感兴趣的人

赶紧试一下吧。。。。(好像android硬件不支持重启,所以只能关机之后并不能重启)。