Я пытаюсь проверить, было ли устройство root, а затем проверить, предоставил ли пользователь доступ с правами root.
Process p;
try{
p = Runtime.getRuntime().exec("su");
if(p.waitFor() != 0) {
Toast.makeText(this, "You need to grant root access!", Toast.LENGTH_SHORT).show();
return false;
}
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(this, "You don't have root access!", Toast.LENGTH_SHORT).show();
return false;
} catch (InterruptedException e) {
e.printStackTrace();
return false;
}
return true;
Однако он всегда зависает от метода waitFor()
. Я не знаю в чем проблема. Я попытался запустить команду ls
, и она работает.