android usb adb流程,Android系统关机或重启的几种实现方式

 

1 Android KitKat 4.4平台开发-添加USB ADB和MTP功能支持


点击打开链接


2 让mini2440成为U盘之linux gadget driver

点击打开链接

3 android usb adb流程

点击打开链接


4 Android系统关机或重启的几种实现方式

点击打开链接

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

在控制台上执行命令setprop sys.usb.config adb 将使能adb功能

在控制台上执行命令setprop sys.usb.config none关闭adb功能 


三. Runtime调用Linux-shell

我们知道,Runtime这个Java类是可以用来调用并执行shell命令的,而Android虚拟机是支持Linux-shell语言的,基于这一点,可以利用Runtime来执行 关机或重启的shell命令,这一点和上面介绍的方式二原理上大致相同。功能代码如下:

//Runtime执行linux-shell

			case R.id.shutdown_btn3:
				try{
					Log.v(TAG, "root Runtime->shutdown");
					//Process proc =Runtime.getRuntime().exec(new String[]{"su","-c","shutdown"});  //关机
					Process proc =Runtime.getRuntime().exec(new String[]{"su","-c","reboot -p"});  //关机
				    proc.waitFor();
				}catch(Exception e){
				    e.printStackTrace();
				}
				break;
			case R.id.reboot_btn3:
				try { 
					Log.v(TAG, "root Runtime->reboot");
					Process proc =Runtime.getRuntime().exec(new String[]{"su","-c","reboot "});  //关机
				    proc.waitFor();
				}catch (Exception ex){
					ex.printStackTrace();
				}
				break; 
使用该方法需要注意的是,普通用户是没有权限执行reboot和shutdown的,自然而然也无法实现关机或重启。使用的 Android设备必须已经root过,上面的代码加上su命令其实也就是为了获取管理员权限。另外一点,需要注意的是,该方法能够奏效的前提是,你的android 系统system/bin 目录下存在reboot和shutdown文件(其实跟上面的原理一样,也是调用bin目录下的文件),听说大部分设备存在reboot和shutdown这两个文件,可使用的Android系统偏偏没有shutdown文件,所以,无法直接使用
Runtime.getRuntime().exec(new String[]{"su","-c","shutdown"})

只能执行下面命令来进行关机(好神奇的p参数)
Runtime.getRuntime().exec(new String[]{"su","-c","reboot -p"});

//


enable_adb() disable_adb()的实现

enable or disable adb

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值