Android13 framework添加关机接口

framework层修改:
t0_sys/frameworks/base/core/api/current.txt

     method @RequiresPermission(android.Manifest.permission.REBOOT) public void reboot(@Nullable String);
+    method public void rebootp();

t0_sys/frameworks/base/core/java/android/os/IPowerManager.aidl

+void rebootp();

t0_sys/frameworks/base/core/java/android/os/PowerManager.java

+    public void rebootp(){
+        try{
+             mService.rebootp();
+        } catch (RemoteException e){
+            throw e.rethrowFromSystemServer();
+        }
+    }
+

t0_sys/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java

+import java.io.IOException;+        @Override // Binder call
+        public void rebootp(){
+            try {
+                  Runtime.getRuntime().exec("reboot -p");   //关机
+                } catch (IOException e) {
+                e.printStackTrace();
+                }
+        }

APP使用反射调用关机接口
1.编写反射接口

public class PowerManagerUtils {private static final String CLASS = "android.os.PowerManager";private static final String UART_POWER_OPEN = "rebootp";public static void open(PowerManager manager) {try {Class<?> spClass = Class.forName(CLASS);Method getMethod = spClass.getMethod(UART_POWER_OPEN);getMethod.invoke(manager);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (NoSuchMethodException e) {e.printStackTrace();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}

2.调用反射执行PowerManager类中的rebootp方法

PowerManager powerManager;
powerManager = (PowerManager) getSystemService(POWER_SERVICE);
PowerManagerUtils.open(powerManager);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/708650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zookeeper基础入门-1【集群搭建】

Zookeeper基础入门-1【集群搭建】 一、Zookeeper 入门1.1.概述1.2.Zookeeper工作机制1.3.Zookeeper特点1.4.数据结构1.5.应用场景1.5.1.统一命名服务1.5.2.统一配置管理1.5.3.统一集群管理1.5.4.服务器动态上下线1.5.5.软负载均衡 1.6.Zookeeper官网1.6.1.Zookeeper下载1.6.2.历…

day01-HTML-CSS

一、Web 开发 1. 什么是 Web &#xff1f; Web&#xff1a;全球广域网&#xff0c;也称为万维网(www&#xff0c;World Wide Web)&#xff0c;能够通过浏览器访问的 网站。 2. Web 网站的开发模式 3. Web 标准 Web 标准也称为网页标准&#xff0c;由一系列的标准组成&#xff…

ubuntu开发板问题汇总

1 上网 网线一端连接到开发板 一端连接到无线路由网口 发现局域网可以相互ping通&#xff0c;但是ping www.baidu.com不通&#xff0c;提示消息 ping: bad address www.baidu.com 需要下面命令配置网关 route add default gw 192.168.31.1 然后再ping www,baidu.com即…

yii2框架 mysql两个点的经纬度计算距离排序查询

$query Location::find()->select([id, name])->addSelect([ distance > "ST_DISTANCE(POINT(:latitude, :longitude), POINT(latitude, longitude))", ])->orderBy(distance)->params([ :latitude > $targetLatitude, // 目标纬度 :…

REVERSE-COMPETITION-VNCTF-2024

REVERSE-COMPETITION-VNCTF-2024 前言TBXObaby_c2yunobfuseko 前言 ko的随机数算法没看出来&#xff0c;可惜~ 这里给自己打个广告&#xff1a;东南网安研二在读&#xff0c;求实习&#xff0c;求内推&#xff0c;求老板们多看看我QAQ TBXO 通过字符串定位到main函数汇编视…

【Algorithms 4】算法(第4版)学习笔记 13 - 番外篇:二叉查找树的几何应用(下篇)

文章目录 前言参考目录学习笔记4&#xff1a;区间搜索树&#xff08;interval search trees&#xff09;4.1&#xff1a;一维区间搜索4.2&#xff1a;区间搜索树定义4.3&#xff1a;区间搜索树 demo 演示4.3.1&#xff1a;插入4.3.2&#xff1a;搜索命中4.3.3&#xff1a;搜索未…

SpringBoot - 后端数据返回前端各个数据类型全局格式化

全局配置 import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.j…

[RCTF2015]EasySQL1 题目分析与详解

一、题目介绍&#xff1a; 1、题目来源&#xff1a; BUUCTF网址 2、题目介绍&#xff1a; 拿到flag。 二、解题思路&#xff1a; 我们发现题目首页有登录和注册账号两个选项&#xff0c;我们首先尝试注册账号&#xff0c;尝试注册username为admin的账号&#xff0c;输入密码…

前端Vue篇之什么是 mixin ?mixin 和 mixins 区别

目录 什么是 mixin &#xff1f;案例参考总结 mixin 和 mixins 区别mixin 和 mixins 的区别案例参考总结 什么是 mixin &#xff1f; Mixin 是一种在 Vue.js 中用来复用组件选项的一种方式。通过 mixin&#xff0c;我们可以将一组组件选项对象合并到另一个组件的选项对象中&am…

如何更改虚拟机服务端口

如何更改虚拟机服务端口 背景internet information services开启/安装 IIS打开IIS管理器 修改端口 背景 今天我们来讲一下如何更改我们服务所占用的端口号&#xff0c;假设我们在虚拟机或者本地计算机上部署了一个服务&#xff0c;然后这个服务呢&#xff0c;我们默认安装了&a…

一番赏小程序开发,提升用户体量,增加收益

随着我国年轻人逐渐成为消费主力军&#xff0c;盲盒一番赏迅速迎来高速发展期&#xff0c;一番赏的市场规模也迅速扩大。 在互联网的支持下&#xff0c;当下国内形成了线上消费热潮&#xff0c; 一番赏开启了线上抽赏&#xff0c;衍生出了线上一番赏小程序&#xff0c;这让更多…

快速掌握MySql的常用基本操作

MySql 基本操作 一、MySql的数据类型二、MySql运算符三、MySql常用函数四、MySql完整性约束五、MySql核心操作&#xff08;库、表、CRUD、连接&#xff09;库操作表操作CRUD通过存储过程生成大量测试数据连接查询 一、MySql的数据类型 整数类型字节最小值最大值TINGINT1有符号…

redis 缓存穿透,缓存击穿,缓存雪崩

缓存穿透&#xff0c;就是用户想要查询一个数据&#xff0c;在 redis 中查询不到&#xff0c;即没有在缓存中命中&#xff0c;那么就会直接去持久化的 mysql 中进行查询&#xff0c;发现也没有这个数据&#xff0c;那么本次查询就失败了 当用户巨多的时候&#xff0c;查询缓存都…

白酒:生产过程的可追溯性与质量控制

在豪迈白酒的生产过程中&#xff0c;可追溯性与质量控制是确保产品安全与品质的重要手段。随着消费者对食品安全与质量的关注度不断提高&#xff0c;建立多方的可追溯体系和严格的质量控制措施成为了酒庄的必然选择。 首先&#xff0c;可追溯性是指从原材料到产品的整个生产过程…

electron安装最后一部卡住了?

控制台如下错误 不是的话基本可以划走了 这个很可能是镜像出现问题了&#xff0c;不一定是npm镜像 打开npm的配置文件添加下述 electron_mirrorhttps://cdn.npmmirror.com/binaries/electron/ electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-build…

vscode 设置打开终端的默认工作目录/路径

vscode 设置打开终端的默认工作目录/路径** 文章目录 vscode 设置打开终端的默认工作目录/路径**打开vscode&#xff0c;打开设置UI 或是设置JSON文件&#xff0c;找到相关设置项方式1&#xff1a;通过打开settings.json的UI界面 设置:方式2&#xff1a;通过打开设置settings.j…

深入理解网络通信基本原理和tcp/ip协议

深入理解网络通信基本原理和tcp/ip协议 一、计算机网络体系1&#xff0c;计算机网络体系结构2&#xff0c;网络中数据传输2.1&#xff0c;浏览器中输入一个url的执行流程2.2&#xff0c;数据在网络中是的传输流程 3&#xff0c;三次握手和四次挥手3.1&#xff0c;三次握手3.1.1…

【外设篇】-显示器

显示屏是一种电光转换工具&#xff0c;现在市面上的显示器都是LCD&#xff08;Liquid Crystal Display&#xff0c;液晶显示器&#xff09; 显示器参数介绍 对比度 是指画面黑与白的比值&#xff0c;对比度越高能使色彩表现越丰富&#xff0c;对比度越高&#xff0c;显示器的…

leetcode 2581. 统计可能的树根数目【换根dp】

原题链接&#xff1a;2581. 统计可能的树根数目 题目描述&#xff1a; Alice 有一棵 n 个节点的树&#xff0c;节点编号为 0 到 n - 1 。树用一个长度为 n - 1 的二维整数数组 edges 表示&#xff0c;其中 edges[i] [ai, bi] &#xff0c;表示树中节点 ai 和 bi 之间有一条边…

【appium】Hybrid应用自动化|微信小程序自动化

目录 一、Hybrid&#xff08;nativewebview&#xff09;应用自动化 1、webview 2、Hybrid应用自动化实现 2.1准备工作 Step1&#xff1a;准备android 4.4版本以上的手机/模拟器 Step2&#xff1a;在app源码中将webview调试模式打开 Step3&#xff1a;安装UC开发者工具 U…