从4.2开始,使用以下代码安装APK,如果APK版本低于当前安装的版本,安装将失败。是否有允许降级的PutExtra()?
File file = new File(dir, "App.apk");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
startActivity(intent);
或者我需要以不同的方式做到这一点吗?
答案 0 :(得分:0)
AFAIK允许降级是应用程序的功能正在安装如果此应用程序允许降级它将降级当前安装的应用程序否则你不能
所以从你的意图你无法控制它
您可以在应用程序中设置的设置
您可以在清单中设置此属性
答案 1 :(得分:0)
至少使用相同的版本名称/版本代码可以使用额外的意图 (对我来说(Android 4.2.2,Galaxy S4 Active):
Uri uri = Uri.fromFile(new File(PATH_TO_FILE_APK));
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra('Intent.ACTION_PACKAGE_REPLACED', "your.package.name");
intent.setDataAndType(uri, "application/vnd.android.package-archive");
startActivity(intent);
在我的情况下,这会在更换后重新启动应用程序。