在Android 4.2中,当使用intent以编程方式安装APK时,如何允许降级?

时间:2013-09-21 16:53:29

标签: android android-intent install apk android-4.2-jelly-bean

从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);

或者我需要以不同的方式做到这一点吗?

2 个答案:

答案 0 :(得分:0)

AFAIK允许降级是应用程序的功能正在安装如果此应用程序允许降级它将降级当前安装的应用程序否则你不能

所以从你的意图你无法控制它

您可以在应用程序中设置的设置

您可以在清单中设置此属性

This property

答案 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);

在我的情况下,这会在更换后重新启动应用程序。