用这种方法可以判断,但是判断完毕su就被释放了,调用还得重新获取。如何判断本次获取root成功?用户拒绝授权和未root均为失败。
private boolean isRoot(){
try
{
process = Runtime.getRuntime().exec("su");
process.getOutputStream().write("exit\n".getBytes());
process.getOutputStream().flush();
int i = process.waitFor();
if(0 == i){
process = Runtime.getRuntime().exec("su");
return true;
}
} catch (Exception e)
{
return false;
}
return false;
}