【问题标题】:Parent activity onCreate() called on back press (Android)后按时调用的父活动 onCreate() (Android)
【发布时间】:2020-12-23 12:33:23
【问题描述】:

我有 3 项活动 - A、B 和 C。 从A开始B,从B开始C,即 A -> B -> C。 在从 A 到 B 的过程中,我向 B 传递了一个意图——我们称这个意图为 intentA。 当我从 B 到 C,然后通过按返回按钮从 C 到 B 时,B 的“onCreate()”再次被调用,intentA 再次被传递给 B,即使我在按下时没有将任何意图传递给 B C中的后退按钮。 我该怎么做才能在 C 中按下后退按钮时不调用 B 的“onCreate()”,或者即使调用了它,intentA 也不会传递给它? 我尝试在清单中将 B 的启动模式设置为“singletop”/“singletask”,但它们不起作用。 我尝试在 C 的 onBackPressed() 方法中使用 'finish()',但没有成功。

我也尝试了其他解决方案,并使用了 stackoverflow 上类似问题的答案,但都没有奏效。

有什么办法吗?

另外,我正在使用 Dexter 库在我的自定义对话框中请求权限,并且我也在使用屏幕过渡动画。这些是否会导致问题?

【问题讨论】:

  • 如何传递intent?使用任何按钮?或其他任何东西
  • 我在从 A 启动 B 时传递了意图,并在 B 的 onCreate() 中接收了意图。

标签: android back-stack


【解决方案1】:

为了从 ActivityA 启动 ActivityC 并将 ActivityB 添加到 backstack, 使用带有 intentA 和 intentB 数组的 startActivities 作为参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多