我想卸载特定的APK,之后我需要安装另一个APK文件。但是,我的应用程序显示了同时卸载和安装的活动,而不是一个接一个。我该如何解决这个问题?我希望用户卸载apk,然后才安装新的apk。非常感谢你。
以下是我试过的代码。
public void uninstallAndInstall(View view) {
/* code to uninstall an app */
try
{
Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.parse("package:"+ applicationPackageName));
startActivity(intent);
/* Code to install an app*/
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(sdcard,"Android/data/com.mycompany.android.games/temp/temp.apk")), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
catch (Exception e)
{
e.printStackTrace();
}
}
答案 0 :(得分:0)
在开始下一个软件包的安装过程之前,请尝试等待the ACTION_PACKAGE_REMOVED
broadcast到达请求用户卸载的软件包。
另外,请记住,用户没有义务接受您的卸载请求。