如何通过Intent打开应用程序并清除后台堆栈返回应用程序



我希望当我通过android intent打开一个应用程序时,当用户按下后退按钮时,它会返回到我的应用程序。目前,如果使用下面的代码,它会打开应用程序,但当按下后退按钮时,它会返回到应用程序主页,并且只有在第二次按下后才能返回到我的应用程序。

private void openApp(String packageName) {
Intent launchIntent = mContext.getPackageManager().getLaunchIntentForPackage(packageName);
if (launchIntent != null) {
mContext.startActivity(launchIntent); 
} 
}

在网上查看时,我查看了以下指南:

了解任务和反堆栈

我还播放并检查了Intent标志和操作的android源代码,但不知道如何进行

您的应用程序无法控制其他应用程序的工作流/导航行为。启动其他应用程序后,在用户返回到您的应用程序之前,您将无法进一步控制用户的导航选项。

顺便说一句,你描述的行为是合适的行为,例如,一个提供隐含深度链接的应用程序:

这意味着,当用户从深度链接目的地按下"后退"按钮时,他们会导航回导航堆栈,就像他们从应用程序的入口点进入一样。

最新更新