如何回到启动我的应用程序的应用程序

时间:2013-11-11 11:03:55

标签: android android-intent

背景

我的应用(我称之为“ A ”)可以从意图启动。如果单击特定URL,则会打开 A

A 有自定义导航,因此后退按钮并不总是覆盖super.onBackPressed()或finish()它。

问题:

从另一个应用程序打开 A 后,可以说电子邮件应用程序(我将其称为“ E ”), A 无法返回到 E 。如果我单击“任务”按钮,用户可以看到当前正在运行的应用程序的名称,图标和缩略图,我可以看到 E (图标和名称)具有缩略图 A ,而不是 E 。当我点击它时,我会转到 A ,并且无法返回 E

问题:

有没有办法从 A 返回 E ? 我应该跟踪活动堆栈,以便随时回复它吗? 我知道我无法强制关闭某个应用程序,但我可以在 A E 关闭 E 打开 A 吗? >是开放的吗?有没有办法在意图上指定这种行为?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我找到了一个有效的解决方案。

我检查 A 的活动是否来自 E ,在这种情况下,我清除活动堆栈并重新启动 A

if(comesFromE()){
    Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);
    finish();
}

这个答案对我有帮助:howto programatically “restart” android app?