在更新操作时,下载新apk之后,往往需要自动安装新apk,用以下代码即可安装下载在本地的apk文件(apkFile)
Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");startActivity(intent);
对于7.0之后,应用间共享文件,需要使用 content://
URI,并授予 URI 临时访问权限,而不再支持file://
URI,否则会抛出异常
Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);Uri apkUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider", apkFile);intent.setDataAndType(apkUri, "application/vnd.android.package-archive");startActivity(intent);
对于FileProvider的配置,参考