java在执行shell命令时显示progressbar
我试图在复制文件的过程中(使用shell命令)显示一个进度条。这是我的密码:
copyProgress = new ProgressDialog(Activ.this);
copyProgress.setMessage("Copying");
copyProgress.show();
Process process1 = Runtime.getRuntime().exec(new String[] {"cp /sdcard/file /system"});
Process process2 = Runtime.getRuntime().exec(new String[] {"cp /sdcard/file2 /system"});
.......
copyProgress.dismiss();
我需要执行多个不同的进程,因此如何才能在开始时显示进度对话框,并在最后一个文件成功完成复制后将其取消。我尝试在proccess1之前显示对话框,在最后一个进程之后关闭对话框,但这不起作用。谢谢
显然我需要用线把它包起来。有人能告诉我怎么做吗
# 1 楼答案
您的原始代码中有几个问题。下面的代码在后台线程上处理进程的运行,并使用waitFor调用检查其结果。所有这些都是毫无意义的,因为没有root用户就无法复制到/system