对于我正在开发的应用程序,我重写后退按钮使其像主页按钮一样,以便即使退出应用程序也会保留主要活动的状态。现在,我还使用服务不时向用户发送通知。按下此通知后,我想再次打开主要活动。我注意到,这会创建应用程序的第二个实例,这会产生重大问题。我试图让主要活动再次出现在前面,而不是再次调用oncreate:
想要再次启动主要活动:
Intent notificationIntent = new Intent(this, MainActivity.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
但这不起作用。我仍然以我的主要活动的两个实例结束。有人知道如何解决这个问题吗?
顺便说一句,我的清单中已经有android:launchMode="singleInstance"
。
答案 0 :(得分:0)
有一种方法可以强制操作系统只创建一个活动实例,那就是使用Manifest中的标签launchMode,如下所示:
<activity android:name="YourActivity"
android:launchMode="singleInstance"/>
希望这有助于......
此致
答案 1 :(得分:0)
尝试将此标记添加到意图.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
,对我有用。