Android 当用户点击FCM通知消息时,如何清除活动堆栈?

Android 当用户点击FCM通知消息时,如何清除活动堆栈?,android,android-intent,firebase-cloud-messaging,activity-stack,Android,Android Intent,Firebase Cloud Messaging,Activity Stack,我的android应用程序从web服务器接收FCM通知消息(显示消息) 如果通知在应用程序处于后台模式时到达,并且用户点击该通知,则会在任务堆栈顶部启动一个新的“MainActivity”。然后,当用户点击后退按钮时,此活动完成,并显示上次启动的活动(点击通知之前) 我想要的是在用户点击通知时清除所有活动堆栈。这样,当用户点击后退按钮时,应用程序将完成,保留活动层次结构 如果我按照所述管理意图启动,这可能很容易,但如中所述,显示消息由FCM SDK自动处理,因此在本例中,我不会创建任何意图;an

我的android应用程序从web服务器接收FCM通知消息(显示消息

如果通知在应用程序处于后台模式时到达,并且用户点击该通知,则会在任务堆栈顶部启动一个新的“MainActivity”。然后,当用户点击后退按钮时,此活动完成,并显示上次启动的活动(点击通知之前)

我想要的是在用户点击通知时清除所有活动堆栈。这样,当用户点击后退按钮时,应用程序将完成,保留活动层次结构

如果我按照所述管理意图启动,这可能很容易,但如中所述,显示消息由FCM SDK自动处理,因此在本例中,我不会创建任何意图;android在点击通知时自动启动“MainActivity”


那么,有什么方法可以实现它吗?

对我来说,这非常有效:

<activity
android:name=".MainActivity"
android:launchMode="singleTop">
<activity
android:name=".MainActivity"
android:clearTaskOnLaunch="true"
android:launchMode="singleTask">

谢谢你的回答,但这对我来说不管用。相反,我使用了以下代码:android:clearTaskOnLaunch=“true”android:launchMode=“singleTask”