Я выполняю системную команду в приложении для Android, но не могу получить правильные результаты выполнения.
Вот мой код:
String cmd = "ls /";
try {
Process p = Runtime.getRuntime().exec(cmd);
InputStream stdout = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stdout));
p.waitFor();
if (p.exitValue() != 0) {
System.out.println(p.exitValue());
Log.d("test",p.exitValue()+" ");
}
String s;
List<String> stdout_list = new ArrayList<>();
while ((s = reader.readLine()) != null) {
Log.d("test", s);
s = s + "\n";
stdout_list.add((String)s);
}
callableGetData.stdout_list = stdout_list;
} catch(Exception e) {
System.out.println(e);
}
cmd, например ls
, получит неправильный ответ 1
, но если я использую ps -A
, я получу правильные ответы. Неправильный ответ 1
, может быть exitValue()
.
Что вызывает это?