原址:http://blog.csdn.net/zhoumushui

现在长按Power键只有一个关机键,需要添加一个重启,以下是我的添加步骤:

1.在frameworks/base/core/res/res/values/config.xml里添加重启:

[java] view plaincopy
  1. <!-- Defines the default set of global actions. Actions may still be disabled or hidden based
  2. on the current state of the device.
  3. Each item must be one of the following strings:
  4. "power" = Power off
  5. "settings" = An action to launch settings
  6. "airplane" = Airplane mode toggle
  7. "bugreport" = Take bug report, if available
  8. "silent" = silent mode
  9. "users" = list of users
  10. -->
  11. <string-array translatable="false" name="config_globalActionsList">
  12. <item>power</item>
  13. <item>reboot</item>
  14. <item>bugreport</item>
  15. <item>users</item>
  16. </string-array>

2.添加中英文的重启string:

frameworks/base/core/res/res/values/strings.xml

frameworks/base/core/res/res/values-zh-rCN/strings.xml

3.修改GlobalActions:

frameworks/base/policy/src/com/Android/internal/policy/impl/GlobalActions.Java

[java] view plaincopy
  1. --- a/frameworks/base/policy/src/com/android/internal/policy/impl/GlobalActions.java
  2. +++ b/frameworks/base/policy/src/com/android/internal/policy/impl/GlobalActions.java
  3. @@ -107,6 +107,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
  4. private static final String GLOBAL_ACTION_KEY_USERS = "users";
  5. private static final String GLOBAL_ACTION_KEY_SETTINGS = "settings";
  6. private static final String GLOBAL_ACTION_KEY_LOCKDOWN = "lockdown";
  7. +       private static final String GLOBAL_ACTION_KEY_REBOOT = "reboot";
  8. private final Context mContext;
  9. private final WindowManagerFuncs mWindowManagerFuncs;
  10. @@ -306,6 +307,8 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
  11. }
  12. if (GLOBAL_ACTION_KEY_POWER.equals(actionKey)) {
  13. mItems.add(new PowerAction());
  14. +                       } else if(GLOBAL_ACTION_KEY_REBOOT.equals(actionKey)){
  15. +                               mItems.add(new RebootAction());
  16. } else if (GLOBAL_ACTION_KEY_AIRPLANE.equals(actionKey)) {
  17. mItems.add(mAirplaneModeOn);
  18. } else if (GLOBAL_ACTION_KEY_BUGREPORT.equals(actionKey)) {
  19. @@ -371,7 +374,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
  20. @Override
  21. public boolean onLongPress() {
  22. -            mWindowManagerFuncs.rebootSafeMode(true);
  23. +            // mWindowManagerFuncs.rebootSafeMode(true);
  24. return true;
  25. }
  26. @@ -392,6 +395,42 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
  27. }
  28. }
  29. +
  30. +    private final class RebootAction extends SinglePressAction implements LongPressAction {
  31. +        private RebootAction() {
  32. +            super(com.android.internal.R.drawable.ic_lock_power_off,
  33. +                R.string.global_action_reboot);
  34. +        }
  35. +
  36. +        @Override
  37. +        public boolean onLongPress() {
  38. +            //mWindowManagerFuncs.rebootSafeMode(true);
  39. +            return true;
  40. +        }
  41. +
  42. +        @Override
  43. +        public boolean showDuringKeyguard() {
  44. +            return true;
  45. +        }
  46. +
  47. +        @Override
  48. +        public boolean showBeforeProvisioning() {
  49. +            return true;
  50. +        }
  51. +
  52. +        @Override
  53. +        public void onPress() {
  54. +                       try {
  55. +                               Intent intent = new Intent(Intent.ACTION_REBOOT);
  56. +                               intent.putExtra("nowait", 1);
  57. +                               intent.putExtra("interval", 1);
  58. +                               intent.putExtra("window", 0);
  59. +                               mContext.sendBroadcast(intent);
  60. +                       } catch (Exception e) {
  61. +                       }
  62. +               }
  63. +    }
  64. +
  65. private Action getBugReportAction() {
  66. return new SinglePressAction(com.android.internal.R.drawable.ic_lock_bugreport,
  67. R.string.bugreport_title) {

可以看到onPress()中是对重启的实现:

[java] view plaincopy
  1. Intent intent = new Intent(Intent.ACTION_REBOOT);
  2. intent.putExtra("nowait", 1);
  3. intent.putExtra("interval", 1);
  4. intent.putExtra("window", 0);
  5. mContext.sendBroadcast(intent);

Done!

修改图标:

Android 5.1长按电源键添加重启功能相关推荐

  1. Android 长按电源键和短按电源键的详细处理流程

    1 Android Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCOD ...

  2. [RK3568 Android11] RK809开机短按时间设置和长按电源键设置

    一.长按电源键 在产品设计中,为防备系统跑挂了,需要设计通过长按电源键实现硬关机和重启.这里简单介绍RK809实现长按电源键关机和重启功能. 通过查阅RK809手册PMIC_PWEON_KEY寄存器, ...

  3. 笔记本电脑如何强制关机_长按电源键强制关机会损害笔记本硬件吗?联想:不会但不建议...

    如今电脑性能和稳定性已经有了明显进步,尤其是内存的翻倍.SSD硬盘的加入,已经摆脱了动不动卡死.蓝屏的状况. 正因为此,"长按电源键强制关机"的操作已经越来越少,不过以Window ...

  4. 定时关机win10_长按电源键强制关机,真的会弄坏电脑吗?

    " 开始菜单 -- 电源 -- 关机 ". 不知道差友们是否和托尼一样,尽管用了好几年的电脑,期间无论换过多少台,每当想要给电脑关机的时候,这几个步骤一直固定没变. 但 Windo ...

  5. 设置锁屏方式后,锁屏长按电源键还有锁屏按钮(lockdown)锁屏状态下应该没有,解锁使用后长按才有这个按钮。

    长按电源的菜单列表在frameworks/base/core/res/res/values/config.xml 里面有个<string-array translatable="fal ...

  6. win10关机后cpu风扇还在转_win10关机后风扇一直转,长按电源键才关闭怎么办

    最近有朋友问小编win10关机后风扇一直转,长按电源键才关闭怎么办,关于这个问题,相信还有很多朋友不明白,为什么win10关机后风扇一直转,需要我们长按电源键才关闭呢?遇到这种关机风扇还转的情况要如何 ...

  7. 电脑长按电源键强行关机,对SSD有伤害吗?SSD 掉盘之殇

    声明 主页: 元存储的博客_CSDN博客 https://blog.csdn.net/vagrant0407?type=blog 本文依据公开知识及个人经验整理而成,若有任何疑问或有侵权行为请联系作者 ...

  8. Android 10.0 系统去掉连续按两次电源键打开摄像头功能

    目录 1.概述 2.系统去掉连续按两次电源键打开摄像头功能的核心代码

  9. Android 4.1.2系统添加重启功能

    对于Android的的手机或者平板长期使用,感觉会出现慢的情况,所以偶尔还是需要重启一下,而长按电源键弹出的菜单又没有重启选项,所以特在此记录自己添加这个功能的过程. 首先关机的那个弹出菜单是在fra ...

最新文章

  1. 动态规划---最长公共子序列
  2. 在xml文件的Preference标签中,用extra给intent标签加参数
  3. 英特尔SVT-AV1 0.8 AV1视频编码基准发布
  4. 复制出来的文本都是大写_vi或vim怎么复制粘贴
  5. matlab 2010 工具箱,Matlab2010下使用FULLBNT工具箱實現簡單的靜態貝葉斯網絡及推理...
  6. Java Enterprise软件与应有的软件
  7. Ubuntu下安装Oracle11g(图文教程)
  8. 字符串常量在内存中的存放位置由系统自动安排。_C++核心编程--内存分区模型...
  9. 中国人工智能学会最高荣誉CAAI Fellow出炉,首批53位大牛,姚期智谭铁牛等入选
  10. 关于DLL中的哪段代码被执行的处理方法
  11. Silverlight XPS阅读器,支持分页、查找、全屏、缩放
  12. python合并excel工作簿_ExcelPython合并处理Excel工作簿、工作表
  13. Photoshop - 新建纯色图层
  14. 模拟与仿真两个词的区别
  15. 下列不属于java语言特点的是_下列选项中,不属于Java语言特点的一项是( )。...
  16. 读研究生需要交多少学费?
  17. tenacity 报错_Python Tenacity 实现重试机制
  18. 实体店收银系统怎么做管理和营销?
  19. 马尔可夫链在人工智能中的应用
  20. Lab 1:结对编程

热门文章

  1. JAVA基础--toString, equals方法
  2. TCP之三:TCP/IP协议中backlog参数(队列参数)
  3. sql 通过游标 拆分xml结构
  4. xcode 4,2 for Mac 10.6.8
  5. 如何在 SQL Server 2005 故障转移群集中添加或删除节点(安装程序)
  6. Apache 基金会宣布 Apache Kylin 成为顶级项目
  7. 【Java方法】从方法中返回多个值
  8. java 康塔纳 牙盘_这种配置不要六千?你敢信!
  9. codesys编程_CODESYS楼宇自动化应用案例:化学系教学楼智能排气系统
  10. 微信URL带来重大调整