Android下的CMD命令之关机重启及重启recovery
作者:mrr 发布时间:2023-06-20 23:08:21
标签:android,cmd,重启,recovery
Android刚兴起的时候,着实让一些小众软件火了一把,切水果,Tom猫,吹裙子就是其中的代表,当然还有实用性很强的关机重启软件,我们去百度上搜索一下。
截图:
一.了解CMD 命令
我们在cmd下进行的操作什么的,这里就不一一细说了我们只要知道下面这几条命令就可以了
重启:su -c reboot
关机:reboot -p
有了这个思路,我们就可以去实现了
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="clip_vertical"
android:orientation="vertical"
android:padding="15dp" >
<Button
android:id="@+id/btn_reboot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:background="@drawable/btn_bg"
android:text="重启" />
<Button
android:id="@+id/btn_power"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:background="@drawable/btn_bg"
android:text="关机" />
<Button
android:id="@+id/btn_recovery"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:background="@drawable/btn_bg"
android:text="recovery" />
<Button
android:id="@+id/btn_finish"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:background="@drawable/btn_bg"
android:text="退出" />
</LinearLayout>
MainActivity
package com.lgl.power;
import java.io.DataOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
private Button btn_reboot, btn_power, btn_recovery, btn_finish;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
btn_reboot = (Button) findViewById(R.id.btn_reboot);
btn_reboot.setOnClickListener(this);
btn_power = (Button) findViewById(R.id.btn_power);
btn_power.setOnClickListener(this);
btn_recovery = (Button) findViewById(R.id.btn_recovery);
btn_recovery.setOnClickListener(this);
btn_finish = (Button) findViewById(R.id.btn_finish);
btn_finish.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
// 重启
case R.id.btn_reboot:
// cmd命令
String cmd = "su -c reboot";
try {
// 发送请求
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
new AlertDialog.Builder(MainActivity.this).setTitle("很抱歉")
.setMessage("你的手机未ROOT,无法实现该功能!")
.setPositiveButton("OK", null).show();
}
break;
// 关机
case R.id.btn_power:
try {
// 获取管理员权限su
Process process = Runtime.getRuntime().exec("su");
// 输入命令
DataOutputStream out = new DataOutputStream(
process.getOutputStream());
out.writeBytes("reboot -p\n");
// 结束
out.writeBytes("exit\n");
out.flush();
} catch (IOException e) {
new AlertDialog.Builder(MainActivity.this).setTitle("很抱歉")
.setMessage("你的手机未ROOT,无法实现该功能!")
.setPositiveButton("OK", null).show();
}
break;
// recovery
case R.id.btn_recovery:
try {
// 同关机原理
Process process = Runtime.getRuntime().exec("su");
DataOutputStream out = new DataOutputStream(
process.getOutputStream());
out.writeBytes("reboot recovery\n");
out.writeBytes("exit\n");
out.flush();
} catch (IOException e) {
new AlertDialog.Builder(MainActivity.this).setTitle("很抱歉")
.setMessage("你的手机未ROOT,无法实现该功能!")
.setPositiveButton("OK", null).show();
}
break;
// 退出
case R.id.btn_finish:
finish();
break;
}
}
}
还等什么?赶紧去试试吧吧,因为我们是直接取得su权限发送脚本命令,所以我们并不需要其他的权限.
关于Android下的CMD命令之关机重启及重启recovery的相关知识就给大家介绍到这里网站的支持!
0
投稿
猜你喜欢
- 问题背景通常我们开发的时候,需要联合控制台和Navicat/PLSQL等工具进行语句的拼接检查,如果只是输出了一堆???,那么将极大降低我们
- java怎么判断三位数先定义个测试数字,如图然后可以把数字转换成字符串来判断它的长度是否为3,如图获取判断数字范围是否在100到1000之间
- dart 是一个面向对象的语言;面向对象有继承封装多态dart的所有东西都是对象,所有的对象都是继承与object类一个类通常是由属性和方法
- Java常用API介绍API概念什么是API?API(Application Programming interface) 应用程序编程接口
- 本文将基于Spring Boot介绍两种生成二维码的实现方式,一种是基于Google开发工具包,另一种是基于Hutool来实现;
- 环境搭建spring boot的简介以往我们开发时用到spring总是避免不了繁琐的配置,例如我们要配置一个数据库连接,可能需要以下几步:1
- 本文实例为大家分享了Java金额大小写转换的具体代码,供大家参考,具体内容如下/** * @ClassName: NumberConver
- @Bean修饰的方法参数的注入方法参数默认注入方式为Autowired,即先根据类型匹配,若有多个在根据名称进行匹配。1:复杂类型可以通过@
- 上篇文章我们已经可以在 Grafana 上看到对应的 SpringBoot 应用信息了,通过这些信息我们可以对 SpringBoot 应用有
- 本文实例讲述了winform绑定快捷键的方法。分享给大家供大家参考。具体分析如下:第一种:Alt + *(按钮快捷键)在大家给button、
- 在实际的项目开发过中,当我们修改了某个java类文件时,需要手动重新编译、然后重新启动程序的,整个过程比较麻烦,特别是项目启动慢的时候,更是
- 本文实例为大家分享了java实现饮料自助售货机的具体代码,供大家参考,具体内容如下①用户类import java.util.Scanner;
- 需求:字符串(字符串只有一位小数)转float进行运算, 将结果转成字符串(保留一位小数)直接上代码:float f1 = 0.1f;Str
- 本文实例为大家分享了java实现字符串反转的具体代码,供大家参考,具体内容如下1.需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调
- springboot+调用支付宝第三方接口(沙箱环境)大神勿喷!!网址:https://developers.alipay.com/plat
- rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用
- 引言青蛙见了蜈蚣,好奇地问:"蜈蚣大哥,我很好奇,你那么多条腿,走路的时候先迈哪一条啊?"蜈蚣听后说:"青蛙老
- 字符串每隔4位加空格今天弄了个银行卡识别功能,回显的时候想要将银行卡号每四位加一个空格,这样核对卡号会方便很多,这里记录一下1.正则表达式实
- 配置文件中设置通常在公司级别的项目中,我们可能会写多个application- dev/prod.yml ,然后我们通常会在applicat
- 这篇文章主要介绍了Java二分查找算法实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可