安装包异常主要有两个原因(排除7.0 8.0适配问题):一是没有打开“安装未知来源应用”(小米5 vivo x7等机型,虽然是在8.0才有的适配),二是在安装过程中关闭了程序比如调用了System.exit(0);之类的,这种情况只在部分华为手机出现。
private void InstallApp(File result) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//判断是否是AndroidN以及更高的版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Uri contentUri = FileProvider.getUriForFile(YetuApplication.getInstance(), BuildConfig.APPLICATION_ID + ".fileProvider", result);//7.0适配
intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
} else {
intent.setDataAndType(Uri.fromFile(result), "application/vnd.android.package-archive");
}
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
YetuApplication.getInstance().startActivity(intent);
nm.cancel