1

我正在开发一个安卓应用程序。在我的应用程序中,我正在使用通知。我有两个屏幕 screen1 和 screen2。每当通知来了。如果我们点击通知中的通知将导致屏幕2。现在我的问题是如果我在screen2中。一个新的通知来了,单击通知将打开屏幕 2。然后单击返回按钮将再次显示屏幕 2。因为点击前一个屏幕2前面的通知打开屏幕2。我该如何克服这个问题?

4

2 回答 2

3

您应该在清单文件中将您的活动定义为单个实例

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

usinglaunchMode将阻止活动多次启动。

于 2012-10-03T09:36:43.393 回答
2

将此标志值添加到您的通知意图中,

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP| Intent.FLAG_ACTIVITY_NEW_TASK);

这将确保如果您调用的 Activity 位于堆栈顶部,则不会创建它的新实例,而只是帮助您移动到该 Activity。

于 2012-10-03T09:38:49.163 回答