gpt4 book ai didi

Android - 使用 FLAG_ACTIVITY_NEW_TASK

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:52:48 24 4
gpt4 key购买 nike

我创建了一个带有按钮的简单应用程序。单击它会触发通知,单击通知会启动同一应用程序的新实例。但是,我希望通过单击通知将我带回到触发通知的应用程序实例。为此,我查阅了 Android 文档中的 FLAG_ACTIVITY_NEW_TASK 标志-

When using this flag, if a task is already running for the activity you are now starting, then a new activity will not be started; instead, the current task will simply be brought to the front of the screen with the state it was last in. See FLAG_ACTIVITY_MULTIPLE_TASK for a flag to disable this behavior.

基于此,在创建传递给 PendingIntent 的 Intent 时,我设置了这个标志。但是,单击通知仍会启动应用程序的新实例。

我做错了什么?

最佳答案

请记住,当您单击 Notification 时,它是从那个 Context 中启动的。 那个上下文在它的任务上没有 Activity (事实上,它将是一个空白任务)。

这会导致同一 Activity 的两个版本(尽管仍然只有一个 Application 实例)在运行。每个 Activity 都在运行不同的 Task

如果您不需要在任何堆栈中使用相同类型的重复 Activity ,您可以使用此处的答案:

https://stackoverflow.com/a/2327027/726954

否则,有很多方法可以“解决”这个问题,包括单例变量和跟踪哪些 Activity 处于运行状态的应用程序上下文方法。

您可能需要搜索并针对这些问题优化您的问题。

关于Android - 使用 FLAG_ACTIVITY_NEW_TASK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15882180/

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