关于Android 版本覆盖安装,安装过程中闪退出现的问题,
填坑,填坑!
项目用到版本更新,下载正常,安装到一半,就直接回到桌面了,闪退了。。。。。
下面是安装的原来的 代码
private void update() {
File file = new File(Environment.getExternalStorageDirectory(), StateUtils.UPDATE_SAVENAME);
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri data;
// 判断版本大于等于7.0
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
data = MyProvider.getUriForFile(ZMainActivity.this, "com.freshlive.online.fileprovider", file);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
} else {
data = Uri.fromFile(file);
}
intent.setDataAndType(data, "application/vnd.android.package-archive");
startActivity(intent);
}
下面是改后的代码
private void update() {
File file = new File(Environment.getExternalStorageDirectory(), StateUtils.UPDATE_SAVENAME);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri data;
// 判断版本大于等于7.0
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
data = MyProvider.getUriForFile(ZMainActivity.this, "com.freshlive.online.fileprovider", file);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
} else {
data = Uri.fromFile(file);
}
intent.setDataAndType(data, "application/vnd.android.package-archive");
startActivity(intent);
}
注意标红的代码!!!