Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
/* // 由于没有在Activity环境下启动Activity,设置下面的标签
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//版本在7.0以上是不能直接通过uri访问的
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
//参数1 上下文, 参数2 Provider主机地址 和配置文件中保持一致 参数3 共享的文件
Uri apkUri = FileProvider.getUriForFile(context.get(), "com.igrid.standardization.fileprovider", f);
//添加这一句表示对目标应用临时授权该Uri所代表的文件
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
} else {
intent.setDataAndType(Uri.fromFile(f),
"application/vnd.android.package-archive");
}*/
FileProvider7.setIntentDataAndType(context.get(),
intent, "application/vnd.android.package-archive", f, true);
// 安装
context.get().startActivity(intent);
<!--安装跳安装界面-->
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<!--兼容Android 8.0 安装跳安装界面-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>