如何从后台获取活动避免打开它的新实例

法布里齐奥·卡恰波蒂

我的应用程序具有三个基本活动。就像在 Instagram 上一样,我有一个底部菜单,我可以在其中选择一项活动。

当应用程序启动时,出现的第一个活动是HomeActivity所以方案是这样的:

主页 --> 活动 2 --> 活动 3。

Activity3之后我可以选择去Activity2或Home。但是,重要的是要说当我开始一项新活动时,前一个活动会留在后台。例如:当我启动Activity3 时Activity2保持在后台。

问题是,当我从Activity3转到Activity2 时 like that : Home > Activity 2 > Activity 3 > Activity 2,将有两个不同的Activity2实例,一个在后台,另一个在运行。所以问题是:

如何更改我的代码以实现:

如果后台没有Activity2,则Activity3 会启动一个新的Activity2(就像它通常所做的那样)

如果有一个活性2的背景下,所述Activity3活性2从背景,并使其运行(避免打开相同的第二个实例活性2

这很难,但我希望我自己已经解释过了!感谢您的回答!

大卫水

当您Activity从另一个启动一个时,只需添加FLAG_ACTIVITY_REORDER_TO_FRONT,如下所示:

Intent intent = new Intent(this, TargetActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

这会将目标Activity带到任务堆栈的前面(如果任务堆栈中没有现有实例,则创建一个新实例)。启动Activity在任务堆栈中保持活动状态。

通过这种方式,您可以在 3 个活动之间来回切换,它们只会在任务堆栈中重新排列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在打开导航抽屉时缩小后台活动?

来自分类Dev

如何打开与新活动相同的活动?

来自分类Dev

如何避免GULP打开新标签页?

来自分类Dev

避免Android中活动的双重实例

来自分类Dev

如何获取jquery datepicker的当前活动实例

来自分类Dev

如何从市场上获取云服务的活动实例名称?

来自分类Dev

如何在打开新的$ ionicPopup之前关闭它?

来自分类Dev

如何从fancybutton的onClick()打开一个新活动?

来自分类Dev

Selenium vba,如何避免打开指向新标签的“ _blank”链接

来自分类Dev

如何使新打开的文件成为GNOME 3上的活动窗口?

来自分类Dev

2020年如何在活动中获取ViewModel实例?

来自分类Dev

在android中启动活动会打开新活动Kotlin的多个实例

来自分类Dev

我如何避免自己打开EC2实例

来自分类Dev

如何从后台服务的全屏意图通知Android打开活动

来自分类Dev

实例窗口从桌面消失后,如何重新打开它?

来自分类Dev

登录成功后如何打开新活动-Android应用

来自分类Dev

如何获取模块的新实例

来自分类Dev

单击按钮时如何打开新活动?

来自分类Dev

如何在导航抽屉中单击项目打开新活动

来自分类Dev

如何创建复合组件的实例以及如何获取它

来自分类Dev

启用Wi-Fi后,它应该打开一个新活动

来自分类Dev

Firefox打开新的浏览器实例,而不使用活动的实例

来自分类Dev

如何在Volley的onResponse上打开新活动

来自分类Dev

使用Intent时如何销毁和创建新的活动实例

来自分类Dev

如何使新打开的文件成为 GNOME 3 上的活动窗口?

来自分类Dev

如何检测父活动是否在后台堆栈中并且可以在不创建新实例的情况下上升?

来自分类Dev

单击回收站项目时如何打开新活动

来自分类Dev

单击按钮重复单击按钮会重复打开新活动。如何避免这种情况

来自分类Dev

如何以编程方式获取活动 GNOME 终端实例的 PID?

Related 相关文章

  1. 1

    如何在打开导航抽屉时缩小后台活动?

  2. 2

    如何打开与新活动相同的活动?

  3. 3

    如何避免GULP打开新标签页?

  4. 4

    避免Android中活动的双重实例

  5. 5

    如何获取jquery datepicker的当前活动实例

  6. 6

    如何从市场上获取云服务的活动实例名称?

  7. 7

    如何在打开新的$ ionicPopup之前关闭它?

  8. 8

    如何从fancybutton的onClick()打开一个新活动?

  9. 9

    Selenium vba,如何避免打开指向新标签的“ _blank”链接

  10. 10

    如何使新打开的文件成为GNOME 3上的活动窗口?

  11. 11

    2020年如何在活动中获取ViewModel实例?

  12. 12

    在android中启动活动会打开新活动Kotlin的多个实例

  13. 13

    我如何避免自己打开EC2实例

  14. 14

    如何从后台服务的全屏意图通知Android打开活动

  15. 15

    实例窗口从桌面消失后,如何重新打开它?

  16. 16

    登录成功后如何打开新活动-Android应用

  17. 17

    如何获取模块的新实例

  18. 18

    单击按钮时如何打开新活动?

  19. 19

    如何在导航抽屉中单击项目打开新活动

  20. 20

    如何创建复合组件的实例以及如何获取它

  21. 21

    启用Wi-Fi后,它应该打开一个新活动

  22. 22

    Firefox打开新的浏览器实例,而不使用活动的实例

  23. 23

    如何在Volley的onResponse上打开新活动

  24. 24

    使用Intent时如何销毁和创建新的活动实例

  25. 25

    如何使新打开的文件成为 GNOME 3 上的活动窗口?

  26. 26

    如何检测父活动是否在后台堆栈中并且可以在不创建新实例的情况下上升?

  27. 27

    单击回收站项目时如何打开新活动

  28. 28

    单击按钮重复单击按钮会重复打开新活动。如何避免这种情况

  29. 29

    如何以编程方式获取活动 GNOME 终端实例的 PID?

热门标签

归档