0

我有以下情况:

  • 活动一
  • 活动 B(在清单上标记为 singleTop)

当我从 A 到 B 时,我调用 B.startActivity 设置标志

"FLAG_ACTIVITY_REORDER_TO_FRONT"

(以这种方式,当已经打开时,我不会重新创建活动)。

当从 BI 回到 A 时,我调用 A.startActivity 以启动另一个活动“A”。

因此,当我在 20 次之后多次执行这些步骤时,android 会破坏我的所有活动并生成异常。

问题:我怎样才能只打开一次活动 A 从 onCreate 重新加载现有活动?

谢谢你

4

1 回答 1

1

您可以通过覆盖方法 onNewIntent 来实现,并添加到 AndroidManifest.xml 中的 Activity A 或 B:android:launchMode="singleInstance"

@Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
     // do something to reload....
    }

这意味着每当您启动活动(意图)到 A 或 B 时,A 或 B 的旧实例都会重新加载。希望对您有所帮助。

于 2012-12-13T08:57:54.900 回答