public static void savecreen(Activity ac, String name) {
System.out.println("====================1="+System.currentTimeMillis());
String cmd="screencap -p /sdcard/"+name+".png";
try {
// 权限设置
Process p = Runtime.getRuntime().exec("su");
// 获取输出流
OutputStream outputStream = p.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(
outputStream);
// 将命令写入
dataOutputStream.writeBytes(cmd);
// 提交命令
dataOutputStream.flush();
// 关闭流操作
dataOutputStream.close();
outputStream.close();
System.out.println("====================2="+System.currentTimeMillis());
} catch (Throwable t) {
t.printStackTrace();
}
}
public static boolean isDeviceRoot() {
boolean result = false;
Process process = null;
OutputStream out = null;
try {
process = Runtime.getRuntime().exec("su");
out = process.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(out);
dataOutputStream.writeBytes("ls \n");
// 提交命令
dataOutputStream.flush();
// 关闭流操作
dataOutputStream.close();
out.close();
int value = process.waitFor();
// 代表成功
if (value == 0) {
result = true;
} else if (value == 1) { // 失败
System.out.println("======1");
result = false;
} else { // 未知情况
System.out.println("======2");
result = false;
}
} catch (IOException e) {
System.out.println("=============="+ e.getMessage());
} catch (InterruptedException e) {
System.out.println("=============="+ e.getMessage());
}
return result;
}