【发布时间】:2012-12-18 13:27:25
【问题描述】:
该服务创建一个持久的Notification 并通过PendingIntent 启动主要活动。这是代码。
Intent notificationIntent = new Intent(getApplicationContext(), ViewPagerActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(StreamingService.this, 0, notificationIntent, 0);
但是,如果当我按下通知时启动了主要活动,它将再次启动,然后再次启动......
最后,我把相同的活动堆积起来,一个在另一个之上。我可以通过按后退按钮看到这一点,这将杀死主要活动一次,然后让我回到同一个活动,直到我关闭最后一个活动。
如何防止这种情况发生? PendingIntent 是否可以检测到瞄准活动正在运行,因此它不会再次创建相同的活动,而是启动正在运行的活动?
附言。如果不能很好地解释这一点,我深表歉意。如果是这种情况,请告诉我,我会重新表述问题。
【问题讨论】:
-
这个问题真的和通知无关;它们只是启动您的活动的机制,但任何其他机制都会出现您的问题。 @etienne 的答案包含您需要解决的问题;另一种选择是使用清单中的 android:launchMode 属性来正确设置此活动的启动模式。
-
@mah 你是对的。我会解决这个问题。
标签: android