gpt4 book ai didi

android - 将浏览器作为 Intent 打开,但不要将其保留在 Activity 堆栈中

转载 作者:行者123 更新时间:2023-11-29 15:26:42 26 4
gpt4 key购买 nike

我在理解 Activity 堆栈及其影响我的应用的行为方面遇到了一些问题。

单击按钮后,它会启动一个打开浏览器的 Intent。当我在浏览器中并按下主页按钮时,我进入了主屏幕。现在,如果我通过启动器再次启动我的应用程序,它会打开浏览器而不是我的应用程序。如何避免在启动我的应用程序时打开浏览器?

现在,打开 url 的代码如下所示:

private void openUrlExternal(String url) {
Intent openUrlIntent = new Intent(Intent.ACTION_VIEW);
openUrlIntent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
openUrlIntent.setData(Uri.parse(url));
startActivity(openUrlIntent);
}

我是否使用了错误的标志?如果是这样,我必须使用什么标志?

提前致谢!

最佳答案

像这样尝试:

openUrlIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
openUrlIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

这应该解除浏览器任务与您自己的任务的关联,这意味着当您重新启动您的任务时,它应该转到您的 Activity 而不是浏览器。

然而,这也取决于您从何处调用 openUrlExternal()。如果您在 Activity 启动时调用它,它仍会将您带回浏览器,但如果您从事件监听器(即单击按钮)调用它,那么当您重新启动您的应用程序时,它不应该被调用。

关于android - 将浏览器作为 Intent 打开,但不要将其保留在 Activity 堆栈中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com