原来适配的写法,和常见的博客适配:
if(Build.VERSION.SDK_INT>=24) {//判读版本是否在7.0以上
Uri apkUri = FileProvider.getUriForFile(SplashActivity.this, "com.dafangya.app.pro.fileprovider", file);
Intent install = new Intent(Intent.ACTION_VIEW);
install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);//添加这一句表示对目标应用临时授权该Uri所代表的文件读的权限
install.setDataAndType(apkUri, "application/vnd.android.package-archive");
startActivity(install);
}else {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://"+filePath), "application/vnd.android.package-archive");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
dialog_progress.dismiss();
}
现在的适配方法:
if(Build.VERSION.SDK_INT>=24) {//判读版本是否在7.0以上
Uri apkUri = FileProvider.getUriForFile(SplashActivity.this, "com.dafangya.app.pro.fileprovider", file);
Intent install = new Intent(Intent.ACTION_VIEW);
install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);//添加这一句表示对目标应用临时授权该Uri所代表的文件读的权限
install.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);//多添加这一句表示对目标应用临时授权该Uri所代表的文件写的权限
install.setDataAndType(apkUri, "application/vnd.android.package-archive");
startActivity(install);
}else {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://"+filePath), "application/vnd.android.package-archive");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
dialog_progress.dismiss();
}
之前只要一个读取权限就可以了,最近发现突然用不行了,还需要加多一个写的权限
android 自动更新 7.0适配过突然又安装失败了
最新推荐文章于 2022-04-21 11:11:52 发布
664

被折叠的 条评论
为什么被折叠?



