Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何通过Intent打开应用程序并清除后台堆栈以返回应用程序_Android_Android Intent - Fatal编程技术网

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

Android 如何通过Intent打开应用程序并清除后台堆栈以返回应用程序,android,android-intent,Android,Android Intent,我希望当我通过android intent打开应用程序时,当用户按下后退按钮时,它将返回到我的应用程序。目前,如果使用下面的代码,它会打开应用程序,但当按下后退按钮时,它会返回到应用程序主页面,并且只有在第二次按下return to my app后才会返回 private void openApp(String packageName) { Intent launchIntent = mContext.getPackageManager().getLaunchIntentForP

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

private void openApp(String packageName) {
        Intent launchIntent = mContext.getPackageManager().getLaunchIntentForPackage(packageName);
        if (launchIntent != null) {
            mContext.startActivity(launchIntent); 
        } 
    }
在网上查看时,我查看了以下指南:


我还播放并检查了android源代码中的意图标志和操作,但无法确定我们如何做到这一点

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

顺便说一句,您描述的行为是适当的行为,例如,提供隐式

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


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

顺便说一句,您描述的行为是适当的行为,例如,提供隐式

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


不知道是谁否决了你。听起来像是我在寻找的答案。我将研究“深层链接”,因为我不确定我是否还能做些什么来解决它。嗯,也许有人认为我错了。当然,在这种情况下,他们可能会帮助你解决问题,或者写下自己的答案,或者向我(和你)指出我错在哪里。但我理解他们是否不愿意这样做。话虽如此,我试图告诉你,一旦某个第三方应用程序启动,你无法强迫它自行完成。我肯定我的应用程序会很快卸载,但我可能会在活动中覆盖onBackPressed(),以禁止后退按钮的正常功能。不确定是谁否决了你。听起来像是我在寻找的答案。我将研究“深层链接”,因为我不确定我是否还能做些什么来解决它。嗯,也许有人认为我错了。当然,在这种情况下,他们可能会帮助你解决问题,或者写下自己的答案,或者向我(和你)指出我错在哪里。但我理解他们是否不愿意这样做。话虽如此,我试图告诉你,一旦某个第三方应用程序启动,你无法强迫它自行完成。我确信我的应用程序会很快卸载,但我可能会在活动中覆盖onBackPressed(),以禁止后退按钮的正常功能。