public void install() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = null;
LogUtils.d("path:" + path);
if (Build.VERSION.SDK_INT > 23) {
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
boolean b = false;
if (Build.VERSION.SDK_INT > 26) {
b = getPackageManager().canRequestPackageInstalls();
}
if (b)
uri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileProvider", new File(path));
} else {
uri = (Uri.fromFile(new File(path)));
}
path = uri.getPath();
intent.setDataAndType(uri,
"application/vnd.android.package-archive");
startActivity(intent);
}
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
这一句一定要写 不然会出现解析安装包出错