链接 Android 个活动:卸载后安装
Chaining Android activities : install after uninstallation
我想卸载一个特定的 APK,然后我需要安装另一个 APK 文件。但是,我的应用程序显示 activity 同时卸载和安装,而不是一个接一个。我该如何解决这个问题?我希望用户卸载 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();
}
}
尝试等到 the ACTION_PACKAGE_REMOVED
broadcast 到达您请求用户卸载的软件包,然后再开始下一个软件包的安装过程。
另外请记住,用户没有义务接受您的卸载请求。
我想卸载一个特定的 APK,然后我需要安装另一个 APK 文件。但是,我的应用程序显示 activity 同时卸载和安装,而不是一个接一个。我该如何解决这个问题?我希望用户卸载 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();
}
}
尝试等到 the ACTION_PACKAGE_REMOVED
broadcast 到达您请求用户卸载的软件包,然后再开始下一个软件包的安装过程。
另外请记住,用户没有义务接受您的卸载请求。