最近在写一个自动升级代码的时候, 下载了apk后安装,在网上找了个代码:
Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW);//执行动作 intent.setDataAndType(Uri.fromFile(localFile), "application/vnd.android.package-archive"); mContext.startActivity(intent);
结果在安装快要完成的时候,整个安装过程奔溃了,经过一系列分析测试原来是少了一行代码:
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
所以正常应该是这样:
Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(Intent.ACTION_VIEW);//执行动作 intent.setDataAndType(Uri.fromFile(localFile), "application/vnd.android.package-archive"); mContext.startActivity(intent);