https://blog.csdn.net/xiao_420/article/details/84339694
//如果不加,最后安装完成,点打开,无法打开新版本应用。
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//如果不加,最后不会提示完成、打开。
android.os.Process.killProcess(android.os.Process.myPid());
完整的方法 ,完整代码
/**
安装新版本app
* @param context
* @param apkPath 安装app的路径
*/
public static void installApk(Activity context, String apkPath) {
File file = new File(apkPath);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//判读版本是否在7.0以上
if (Build.VERSION.SDK_INT >= 24) {
Uri apkUri = FileProvider.getUriForFile(context, "com.hyphenate.easeui.fileProvider", file);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
} else {
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
}
context.startActivity(intent);
//如果不加,最后不会提示完成、打开。
android.os.Process.killProcess(android.os.Process.myPid());
}
网友评论