0

我的应用程序有两个活动 MainActivity 和 ExternEntry。ExternEntry 被其他一些应用程序调用,作为启动我的应用程序的一种方式。然后,ExternEntry 将调用 MainActivity 上的 startActivity,它可能之前已经启动过。我的问题是,如何在后台恢复 MainActivity 实例?

请注意,这与在同一应用程序中切换活动不同。每次调用 ExternEntry 时,它是否也会创建一个新堆栈?

我试过了

        Intent i = new Intent(this, MainActivity.class);
        i.setAction(Intent.ACTION_MAIN);
        i.addCategory(Intent.CATEGORY_LAUNCHER);
        startActivity(i);

        Intent i = new Intent(this, MainActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(i);

在 ExternEntry 中,但都创建了 MainActivity 的新实例。

我也尝试将 MainActivity 设置为“singleTask”,但这也不起作用。

4

1 回答 1

0

我认为您应该在 android 清单文件中声明启动模式。

<activity
        android:name=".name"
        android:launchMode="singleTask"
        >

我希望它会帮助你。

于 2012-09-05T10:08:21.763 回答