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硬件不支持重启,所以只能关机之后并不能重启)。

相关文章
|
Java Android开发
android app在系统重启绕过USB授权对话框,自动获取USB权限
最近由于项目需要参考了很多关于不修改android源码情况下实现屏蔽USB授权对话框的博文,结合自身实践阐述给出细节的实现过程。
4978 0
|
Java Android开发 API
Android电源管理系列之PowerManagerService(二)
WakeLock机制 PowerManager.WakeLock 为了延长电池的使用寿命,Android设备会在一段时间后使屏幕变暗,然后关闭屏幕显示,直至停止CPU进入休眠。
1838 0
|
7月前
|
Java Android开发
Android 长按电源键弹出的GlobalActions菜单
Android 长按电源键弹出的GlobalActions菜单
186 1
|
Java Android开发
android 7.1 屏蔽按压两次电源键(KEYCODE_POWER)打开相机
android 7.1 屏蔽按压两次电源键(KEYCODE_POWER)打开相机
338 0
|
Shell Android开发
Magisk模块:优化安卓碎片化2.0(循环版)fstrim-模块调用magisk自带的busybox.sh(重启生效)
Magisk模块:优化安卓碎片化2.0(循环版)fstrim-模块调用magisk自带的busybox.sh(重启生效)
1009 1
Magisk模块:优化安卓碎片化2.0(循环版)fstrim-模块调用magisk自带的busybox.sh(重启生效)
|
API Android开发
使用Android的Service实现后台定时检测并重启应用
使用Android的Service实现后台定时检测并重启应用
|
Java Android开发
Android 7.1 多次重启后BOOT_COMPLETED广播接收变慢
Android 7.1 多次重启后BOOT_COMPLETED广播接收变慢
338 0
|
Java Android开发
Android 7.1设置默认Launcher重启后失效(需手动选择)
Android 7.1设置默认Launcher重启后失效(需手动选择)
440 0
|
Android开发 图形学
Android项目实战(二十二):启动另一个APP or 重启本APP
一、启动另一个APP 目前公司项目需求,一个主APP,需要打开某些小APP,这些小APP是整合了Unity的,但是还是android程序(所有小APP的包名是已知的)。 以前没做过,查询了一下实现方法,其实还是挺简单的,测试也可以。
1622 0
|
机器人 开发工具 Android开发
eclipse 安装安卓ADT成功,也提示重启了,但是就是没有应该有的小机器人标志
eclipse 安装安卓ADT成功,也提示重启了,但是就是没有应该有的小机器人标志
209 0