当前位置: 首页 > news >正文

Android 6.0长按电源键添加重启菜单

  1. 重启图标:frameworks/base/core/res/res/drawable-hdpi/ic_lock_power_reboot_alpha.png
  2. frameworks/base/core/res/res/drawable/ic_lock_power_reboot.xml
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_lock_power_reboot_alpha"
+    android:tint="?attr/colorControlNormal" />
  1. frameworks/base/core/res/res/values/config.xml
     <string-array translatable="false" name="config_globalActionsList"><item>power</item>
+        <item>reboot</item><!-- mh.mmi add reboot --><item>bugreport</item><item>users</item></string-array>
  1. frameworks/base/core/res/res/values/public.xml
     <public type="string" name="fingerprint_icon_content_description" />
+    <!-- mh.mmi reboot icon -->
+    <public type="drawable" name="ic_lock_power_reboot" id="0x010800b4" />   
  1. frameworks/base/services/core/java/com/android/server/policy/GlobalActions.java
 import java.util.List;+import android.os.IPowerManager;///mh.mmi/*** Helper to show the global actions dialog.  Each item is an {@link Action} that* may show depending on whether the keyguard is showing, and whether the device
@@ -93,6 +95,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac/* Valid settings for global actions keys.* see config.xml config_globalActionList */private static final String GLOBAL_ACTION_KEY_POWER = "power";
+    private static final String GLOBAL_ACTION_KEY_REBOOT = "reboot";///mh.mmiprivate static final String GLOBAL_ACTION_KEY_AIRPLANE = "airplane";private static final String GLOBAL_ACTION_KEY_BUGREPORT = "bugreport";private static final String GLOBAL_ACTION_KEY_SILENT = "silent";
@@ -273,6 +276,8 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac}if (GLOBAL_ACTION_KEY_POWER.equals(actionKey)) {mItems.add(new PowerAction());
+            } else if (GLOBAL_ACTION_KEY_REBOOT.equals(actionKey)) {///mh.mmi
+                mItems.add(new RebootAction());} else if (GLOBAL_ACTION_KEY_AIRPLANE.equals(actionKey)) {mItems.add(mAirplaneModeOn);} else if (GLOBAL_ACTION_KEY_BUGREPORT.equals(actionKey)) {
@@ -366,6 +371,37 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfacmWindowManagerFuncs.shutdown(false /* confirm */);}}
+       
+    ///mh.mmi start
+    private final class RebootAction extends SinglePressAction {
+            
+        private RebootAction() {
+            super(com.android.internal.R.drawable.ic_lock_power_reboot, R.string.factorytest_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;
+            }
+        }
+    }
+    ///mh.endprivate Action getBugReportAction() {return new SinglePressAction(com.android.internal.R.drawable.ic_lock_bugreport,

相关文章:

Android 6.0长按电源键添加重启菜单

重启图标&#xff1a;frameworks/base/core/res/res/drawable-hdpi/ic_lock_power_reboot_alpha.pngframeworks/base/core/res/res/drawable/ic_lock_power_reboot.xml <?xml version"1.0" encoding"utf-8"?> <!-- Copyright (C) 2014 The And…...

Python股票交易---均值回归

免责声明&#xff1a;本文提供的信息仅用于教育目的&#xff0c;不应被视为专业投资建议。在做出投资决策时进行自己的研究并谨慎行事非常重要。投资涉及风险&#xff0c;您做出的任何投资决定完全由您自己负责。 在本文中&#xff0c;您将了解什么是均值回归交易算法&#xff…...

机器人制作开源方案 | 桌面级机械臂--本体说明+驱动及控制

一、本体说明 1. 机械臂整体描述 该桌面级机械臂为模块化设计&#xff0c;包含主机模块1个、转台模块1个、二级摆动模块1个、可编程示教盒1个、2种末端执行器、高清摄像头&#xff0c;以及适配器、组装工具、备用零件等。可将模块快速组合为一个带被动关节的串联3自由度机械臂…...

有哪些前端调试和测试工具? - 易智编译EaseEditing

前端开发调试和测试工具帮助开发人员在开发过程中发现和修复问题&#xff0c;确保网站或应用的稳定性和性能。以下是一些常用的前端调试和测试工具&#xff1a; 调试工具&#xff1a; 浏览器开发者工具&#xff1a; 现代浏览器&#xff08;如Chrome、Firefox、Safari等&#…...

【数据结构】手撕单链表

目录 一&#xff0c;链表的概念及结构 二&#xff0c;接口实现 1&#xff0c;单链表的创建 2&#xff0c;接口函数 3&#xff0c;动态创立新结点 4&#xff0c;打印 5&#xff0c;头插 6&#xff0c;头删 7&#xff0c;尾插 8&#xff0c;尾删 9&#xff0c;查找 10&#xff…...

两个git本地如何配置两个ssh密钥for mac

我是在mac上操作的。windows上也差不多一样操作。 1.找到本地的.ssh文件。我的文件结构如下如&#xff1a; 文件结构&#xff1a; &#xff08;1&#xff09;两个known_hosts文件是自动生成的&#xff0c;不用管 &#xff08;2&#xff09;readme文件是我个人记事本记录笔记…...

iOS逆向进阶:iOS进程间通信方案深入探究与local socket介绍

在移动应用开发中&#xff0c;进程间通信&#xff08;Inter-Process Communication&#xff0c;IPC&#xff09;是一项至关重要的技术&#xff0c;用于不同应用之间的协作和数据共享。在iOS生态系统中&#xff0c;进程和线程是基本的概念&#xff0c;而进程间通信方案则为应用的…...

qt day 1

this->setWindowIcon(QIcon("D:\\zhuomian\\wodepeizhenshi.png"));//設置窗口的iconthis->setWindowTitle("鵬哥快聊");//更改名字this->setFixedSize(500,400);//設置尺寸QLabel *qlnew QLabel(this);//創建一個標簽ql->resize(QSize(500,20…...

针对java中list.parallelStream()的多线程数据安全问题我们采用什么方法最好呢?

当使用List.parallelStream()方法进行多线程处理时&#xff0c;可能会涉及到数据安全问题。下面是一些常见的方法来处理parallelStream()的多线程数据安全问题&#xff1a; 1. 使用线程安全的集合&#xff1a;Java中提供了线程安全的集合类&#xff0c;如CopyOnWriteArrayList…...

校园用电安全管理系统可以识别违规电器吗

校园用电安全管理系统是处理恶意用电问题有效手段之一&#xff0c;系统具有实时监测、异常预警、监测设备运行状态、远程控制用电等功能&#xff0c;可以从根本上管理学校用电量&#xff0c;制定合理的用电计划&#xff0c;限制用电成本&#xff0c;避免各种恶意用电行为&#…...

前端(十五)——开源一个用react封装的图片预览组件

&#x1f475;博主&#xff1a;小猫娃来啦 &#x1f475;文章核心&#xff1a;开源一个react封装的图片预览组件 文章目录 组件开源代码下载地址运行效果展示实现思路使用思路和api实现的功能数据和入口部分代码展示 组件开源代码下载地址 Gitee&#xff1a;点此跳转下载 CSDN…...

idea新建Java-maven项目时,出现Dependency ‘ xxx(jar包名)‘ not found的解决方案

项目场景&#xff1a; 项目场景&#xff1a;使用idea创建maven项目时&#xff0c;导入简单依赖时&#xff08;本文以mysql-connector-java为例&#xff09;。 问题描述 问题&#xff1a; 首先&#xff0c;在创建新的maven项目中&#xff0c;出现下列两种情况&#xff1a; &am…...

C# 获取Windows系统版本注意事项

首先通过微软官方文档&#xff1a;https://learn.microsoft.com/zh-cn/windows/win32/sysinfo/operating-system-version了解各个操作系统对应的版本号 下面介绍3种获取版本号的方式及弊端 1. Environment.OSVersion.Version OperatingSystem os Environment.OSVersion;// 判断…...

STM32设计的宠物投喂器(正点原子mini开发板+2.8寸屏)

一、设计需求 【1】 项目背景 在竞争日益激烈的今天,各行各业为提高竞争力,纷纷推出了各种新、奇的事物来吸引消费者。经过长时间的市场调查,发现广大市民及民营企业家大多还采用传统的人工喂养方式,这种方式不但耗费了大量的人力资源,而且由于现在的人力成本的不断增加…...

Python编程——深入了解不可变的元组

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 本文专栏&#xff1a;Python专栏 专栏介绍&#xff1a;本专栏为免费专栏&#xff0c;并且会持续更新python基础知识&#xff0c;欢迎各位订阅关注。 目录 一、元组是什么 二、元组的定义 1、相同类型组成元组…...

JVM——类加载与字节码技术—类加载器+运行期优化

5.类加载器 jdk的类加载器具有层级关系。 启动类加载器》扩展类加载器》应用程序类加载器》自定义类加载器 对应类加载器只会负责加载对应目录的类。 双亲委派上级机制 应用程序类加载器加载一个类之前会先查询上级加载器是否已经加载过了该类。然后再让上级询问上上级。都…...

[linux实战] 华为云耀云服务器L实例 Java、node环境配置

系列文章目录 第一章 [linux实战] 华为云耀云服务器L实例 Java、node环境配置 文章目录 系列文章目录前言一、任务拆解二、修改密码三、配置安全规则四、远程登录并更新apt五、安装、配置JDK环境5.1、安装openjdk,选择8版本5.2、检查jdk配置 六、安装、配置git6.1、安装git6.2…...

python面试:使用cProfile剖析程序性能

我们需要安装tuna&#xff1a;pip install tuna 程序执行完毕后&#xff0c;我们会得到一个results.prof&#xff0c;在CMD中输入指令&#xff1a;“tuna results.prof”。 import time import cProfile import pstatsdef add(x, y):resulting_sum 0resulting_sum xresulti…...

leetcode-188-买卖股票的最佳时机 IV

1. 问题描述 https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/description/ 2. 解题代码 public class Solution {public int MaxProfit(int k, int[] prices) {if(prices.Length<2){return 0;}if(k0){return 0;}List<int> listValuenew List<…...

Grounded Language-Image Pre-training论文笔记

Title&#xff1a;Grounded Language-Image Pre-training Code 文章目录 1. 背景2. 方法&#xff08;1&#xff09;Unified Formulation传统目标检测grounding目标检测 &#xff08;2&#xff09;Language-Aware Deep Fusion&#xff08;3&#xff09;Pre-training with Scala…...

巴旦木脱青皮的设计【solidworks三维、cad图纸、论文、答辩稿】

巴旦木脱青皮设计是农产品加工领域的关键环节&#xff0c;其核心作用在于通过机械结构与工艺参数的协同优化&#xff0c;实现青皮与果仁的高效分离&#xff0c;同时避免果仁损伤。该设计需综合考虑物料特性、动力传递效率及设备稳定性&#xff0c;通过三维建模与二维图纸的精准…...

2KW移相全桥整机Matlab Simulink仿真模型电源 2KW移相全桥整机Matlab Simulink仿真模型电源学习资料,报告mathcad参数设计,

2KW移相全桥整机Matlab Simulink仿真模型电源 2KW移相全桥整机Matlab Simulink仿真模型电源学习资料&#xff0c;报告mathcad参数设计&#xff0c;模型搭建过程参考资料&#xff0c;仿真模型等&#xff0c;很全面的移相全桥学习资料&#xff0c;电子资料针对你提到的 2kW 移相全…...

Z-Image-Turbo_Sugar脸部Lora问题排查:常见错误403 Forbidden与连接问题解决

Z-Image-Turbo_Sugar脸部Lora问题排查&#xff1a;常见错误403 Forbidden与连接问题解决 部署和调用AI模型服务&#xff0c;就像组装一台新电脑&#xff0c;硬件都插好了&#xff0c;但开机时屏幕就是不亮&#xff0c;或者提示你密码错误。最近不少朋友在折腾Z-Image-Turbo_Su…...

Keepass2Android密码库完整性验证终极指南:如何确保你的密码安全无虞

Keepass2Android密码库完整性验证终极指南&#xff1a;如何确保你的密码安全无虞 【免费下载链接】keepass2android Password manager app for Android 项目地址: https://gitcode.com/gh_mirrors/ke/keepass2android 在当今数字化时代&#xff0c;密码管理器已成为保护…...

Simulink新手必看:从零搭建四轴飞行器仿真模型(附完整代码)

Simulink实战&#xff1a;四轴飞行器仿真建模全流程解析 四轴飞行器作为无人机领域的经典构型&#xff0c;其控制系统的设计与验证一直是工程师和科研人员的重点课题。对于刚接触Simulink的开发者而言&#xff0c;如何将复杂的飞行动力学转化为可视化的仿真模型往往令人望而生畏…...

ICLR 2026 | 告别Top-K检索!RF-Mem在嵌入空间逐步重构证据链,实现长记忆渐进式唤醒

今天分享一篇来自大连理工大学、香港城市大学、华为和中国科学技术大学的最新工作 RF-Mem&#xff0c;发表于ICLR 2026。这篇工作关注个性化大模型中的一个关键问题&#xff1a;当用户历史越来越长时&#xff0c;模型到底该怎样从海量记忆里&#xff0c;准确找回“此时此刻最相…...

seo页面优化公司如何进行网站内容优化

SEO页面优化公司如何进行网站内容优化 在当今数字化时代&#xff0c;网站内容优化已经成为了每个企业在SEO&#xff08;搜索引擎优化&#xff09;中的关键步骤。SEO页面优化公司通过一系列策略和技术&#xff0c;帮助企业提高网站在搜索引擎中的排名&#xff0c;从而吸引更多的…...

Git-RSCLIP入门到精通:从基础地物识别到复杂场景分析全流程解析

Git-RSCLIP入门到精通&#xff1a;从基础地物识别到复杂场景分析全流程解析 1. 遥感智能分析的新利器 在遥感图像分析领域&#xff0c;传统方法往往需要大量标注数据和复杂的模型训练流程。Git-RSCLIP的出现彻底改变了这一局面&#xff0c;它基于先进的SigLIP架构&#xff0c…...

解锁浏览器潜能:用户脚本实用指南

解锁浏览器潜能&#xff1a;用户脚本实用指南 【免费下载链接】greasyfork An online repository of user scripts. 项目地址: https://gitcode.com/gh_mirrors/gr/greasyfork 你是否常常觉得浏览器功能不够用&#xff1f;想让网页自动完成重复操作&#xff1f;希望个性…...

Pi0一键部署教程:nohup后台运行+log实时监控+进程安全终止

Pi0一键部署教程&#xff1a;nohup后台运行log实时监控进程安全终止 本文介绍如何快速部署和运行Pi0机器人控制模型&#xff0c;重点讲解后台运行、日志监控和进程管理的实用技巧&#xff0c;让AI应用稳定运行在服务器环境中。 1. 项目简介&#xff1a;什么是Pi0&#xff1f; …...