由于意图而导致的多个活动实例

时间:2013-07-09 20:58:57

标签: android android-intent instance

对于我正在开发的应用程序,我重写后退按钮使其像主页按钮一样,以便即使退出应用程序也会保留主要活动的状态。现在,我还使用服务不时向用户发送通知。按下此通知后,我想再次打开主要活动。我注意到,这会创建应用程序的第二个实例,这会产生重大问题。我试图让主要活动再次出现在前面,而不是再次调用oncreate:

想要再次启动主要活动:

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

但这不起作用。我仍然以我的主要活动的两个实例结束。有人知道如何解决这个问题吗?

顺便说一句,我的清单中已经有android:launchMode="singleInstance"

2 个答案:

答案 0 :(得分:0)

有一种方法可以强制操作系统只创建一个活动实例,那就是使用Manifest中的标签launchMode,如下所示:

<activity android:name="YourActivity" 
  android:launchMode="singleInstance"/>

希望这有助于......

此致

答案 1 :(得分:0)

尝试将此标记添加到意图.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP),对我有用。