我正在开发我的第一个Android应用程序.我需要以root用户身份在Shell中执行命令,因此我在我的App中引入了以下代码:
process = Runtime.getRuntime().exec("su");
然后,获得流程的输出流,并使用它执行命令:
os = new DataOutputStream(process.getOutputStream());
os.writeBytes("tcpdump\n");
然后,我获得一个输入流,该流将用于显示过程结果:
is = new DataInputStream(process.getInputStream());
我想将获得的DataInputStream绑定到布局中的TextView上,以便随着过程继续显示结果,实时显示其显示的文本.
我一直在搜寻Android的java.io API,但找不到一种简单的方法.我一直在考虑运行一个带有循环的线程,该线程不断检查输入流中是否有新数据,然后将其复制到TextView中,但这似乎是一个糟糕的解决方案.
如果有人知道这样做的方法,我将非常感谢.
解决方法:
结合TextView.append方法和Handler
这是一个很好的例子:
http://android-developers.blogspot.com/2007/11/stitch-in-time.html