gpt4 book ai didi

android - 当应用程序处于后台时,startActivity() 不起作用(在这种特殊情况下)

转载 作者:行者123 更新时间:2023-12-02 13:30:55 24 4
gpt4 key购买 nike

我正在尝试将我的应用程序从后台带到前台。在我的自定义 IntentService 类的 onHandleIntent() 中,我有:

Intent intent = new Intent();
intent.setClass(getApplicationContext(), MainActivity.class); // Also tried with "this" instead of getApplicationContext()
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);

现在这段代码乍一看可以工作,但我发现了一个不起作用的场景。如果您打开了应用程序,并通过主页按钮将其置于后台,并在大约 5 秒内执行 startActivity(),则应用程序进入前台之前会有一段延迟。这是一个已知的实现,您可以在 stackoverflow 上找到讨论的主题。在这种情况下,应用程序成功从后台转到前台。

如果您重复上面相同的实验,但不是等待应用程序进入前台,而是在手机上浏览(滚动、滑动等)(我正在浏览 google playstore)。结果是 startActivity() 将被调用,但应用程序不会进入前台。

我不是在寻求解决方案,而是要求更多解释为什么会发生这种情况。这是有意的行为吗?

最佳答案

使用您类(class)的上下文。例如:

Intent intent=new Intent(context, other.class)

而不是 getapplicationContext()

关于android - 当应用程序处于后台时,startActivity() 不起作用(在这种特殊情况下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134264/

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