我正在开发一个Android应用程序。在我的应用程序中,我使用通知。我有两个屏幕screen1和screen2。每当通知到来时。如果我们点击通知,将导致screen2。 现在我的问题是如果我在screen2。一个新的通知来了,点击通知将打开屏幕2.然后点击后退按钮将再次显示屏幕2。因为点击前面的屏幕2的通知打开屏幕2。我怎样才能克服这个问题?
答案 0 :(得分:3)
您应该在清单文件中将活动定义为单个实例
<activity android:name=".Screen2"
android:launchMode="singleTask" />
使用launchMode
会阻止多次启动活动。
答案 1 :(得分:2)
将此标志值添加到您的通知意图中,
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP| Intent.FLAG_ACTIVITY_NEW_TASK);
这将确保如果您的被调用活动位于堆栈顶部,则不会创建新的实例,而只是帮助您移动到该活动。