0

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

再次启动主要活动的意图:

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

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

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

4

2 回答 2

0

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

于 2013-07-09T21:14:52.407 回答
0

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

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

希望这可以帮助...

问候

于 2013-07-09T21:01:31.913 回答