Я разрабатываю свое первое приложение для Android. Мне нужно выполнить команду в оболочке от имени пользователя root, поэтому я ввел этот код в свое приложение:
process = Runtime.getRuntime().exec("su");
Затем я получаю поток вывода для процесса и использую его для выполнения команды:
os = new DataOutputStream(process.getOutputStream());
os.writeBytes("tcpdump\n");
Затем я получаю входной поток, который я хочу использовать для отображения результатов процесса:
is = new DataInputStream(process.getInputStream());
Я хотел бы привязать полученный DataInputStream к TextView в макете, чтобы отображаемый текст обновлялся в реальном времени по мере продолжения процесса, показывая результаты.
Я искал в API java.io для Android, и я не могу найти простой способ сделать это. Я думал о том, чтобы запустить поток с циклом, который постоянно проверяет, есть ли новые данные во входном потоке, а затем копирует их в TextView, но это кажется дурацким решением.
Буду признателен, если кто-нибудь знает способ сделать это.