public void installApps(Iterator<String> pathIt){
while(pathIt.hasNext()){
String apkPath=pathIt.next();
File apkFile=new File(apkPath);

Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(apkFile),
"application/vnd.android.package-archive");
startActivity(intent);

Log.v("result", apkFile.getName()+"安装成功");
}
}
    以上代码的目的是为了批量安装apk,但问题是:只要调用此方法,就会启动所有apk安装Activity,结果是一个apk未安装,循环就已经全部完成了。我需要的是:当代码执行到startActivity(intent)这句时,代码暂停往下执行,知道程序安装成功,或者用户点击取消后,再继续执行代码。我尝试过以下方法:
    1.就是直接用上面的方法;
    2.使用startActivityForResult()方法,而且返回值似乎都是0;
    3.监听软件安装广播,当接收到广播后再进行下一个迭代,但这样只能确定用户点击确定并成功安装、替换软件,如果用户点击取消就不行,因为取消似乎没有广播,或者是我不知道。
    4.静默安装(PM 命令)......这个就不说了,行是行,但需要高权限吧!如果没有权限就成浮云了!
    5.静默安装(利用系统隐藏API)......这似乎也存在权限问题,也似乎会出现兼容问题,谁叫搞android系统那么多?
    6.这点是最重要滴,也就是大神们的解答了!!!!!!!小弟先在此谢过了。