public class RunLinuxCommand {

public boolean isRooted() {

//检测是否ROOT过

DataInputStream stream;

boolean flag=false;

try {

stream = Terminal("ls /data/");

//目录哪都行,不一定要需要ROOT权限的

if(stream.readLine()!=null)flag=true;

//根据是否有返回来判断是否有root权限

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

return flag;

}

public DataInputStream Terminal(String command) throws Exception

{

Process process = Runtime.getRuntime().exec("su");

//执行到这,Superuser会跳出来,选择是否允许获取最高权限

OutputStream outstream = process.getOutputStream();

DataOutputStream DOPS = new DataOutputStream(outstream);

InputStream instream = process.getInputStream();

DataInputStream DIPS = new DataInputStream(instream);

String temp = command + "\n";

//加回车

DOPS.writeBytes(temp);

//执行

DOPS.flush();

//刷新,确保都发送到outputstream

DOPS.writeBytes("exit\n");

//退出

DOPS.flush();

process.waitFor();

return DIPS;

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐