在android的设备中如果我们想重启手机或者关机或,一般是需要在源码的环境下编译apk,并赋予其相应地系统权限,而如果想唤醒设备则需要wakelack。源码编译APP还是比较麻烦的,不过由于android的内核属于linux,那么在获取root权限的android设备商自然可以使用linux的开关机,唤醒休眠命令。

(1)重启设备

public void restart() {  try {Process process = Runtime.getRuntime().exec("su");DataOutputStream out = new DataOutputStream(process.getOutputStream());out.writeBytes("reboot \n");out.writeBytes("exit\n");out.flush();} catch (IOException e) {e.printStackTrace();}}
首先获取root权限,然后直接调用linux的reboot,android设备会立即重启。

(2)休眠设备

public void hibernate(){try {Process process = Runtime.getRuntime().exec("su");DataOutputStream out = new DataOutputStream(process.getOutputStream());out.writeBytes("echo mem > /sys/power/state \n");out.writeBytes("exit\n");out.flush();} catch (IOException e) {e.printStackTrace();}}

(3)唤醒设备

public void wakeup(){try {Process process = Runtime.getRuntime().exec("su");DataOutputStream out = new DataOutputStream(process.getOutputStream());out.writeBytes("echo on > /sys/power/state \n");out.writeBytes("exit\n");out.flush();} catch (IOException e) {e.printStackTrace();}KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");keyguardLock.disableKeyguard();}
(4)设备关机

private void shutdown() {try {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) {e.printStackTrace();}}






更多相关文章

  1. Android AIDL分析例子源码
  2. Android设备FTP服务器搭建
  3. 在eclipse中查看android源码
  4. Android so 文件进阶 从dlsym()源码看android 动态链接过程
  5. Android 异步消息处理机制(Handler 、 Looper 、MessageQueue)源码
  6. Android消息循环机制源码深入理解
  7. Android solve设备(手机)旋转过程中出现程序中断问题
  8. Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设
  9. Android条码扫描二维码扫描——ZXing android 源码简化

随机推荐

  1. Android开发_地图应用_百度Map-1
  2. Android(安卓)studio 混淆打包安装后报错
  3. android安装及卸载apk
  4. Android中自定义下拉样式Spinner
  5. android--相机开发
  6. 【so easy~】正则表达式常用匹配
  7. Android编程示例之——人像检测
  8. Android新控件MotionLayout介绍(二)
  9. Android事件分发之前做了啥?
  10. Genymotion Android模拟器下载和找不到模