我的Android应用从网络服务器接收FCM通知消息(显示消息)。
如果在应用程序处于后台模式时通知到达,并且用户点击它,则会在任务堆栈顶部启动一个新的“ MainActivity”。然后,当用户点击“后退”按钮时,此活动完成,并显示上一次启动的活动(在点击通知之前)。
我想要的是在用户点击通知时清除所有活动堆栈。这样,当用户点击后退按钮时,应用程序将完成,并保留Activity层次结构。
如果我按照here来管理意图启动,这可能很容易,但是如FCM Message types docs所述,显示消息是由FCM SDK自动处理的,因此在这种情况下,我不会创建任何意图;当点击通知时,android会自动启动“ MainActivity”。
那么,有什么方法可以实现?
答案 0 :(得分:1)
<activity
android:name=".MainActivity"
android:launchMode="singleTop">
将以下内容添加到清单文件中。 https://inthecheesefactory.com/blog/understand-android-activity-launchmode/en
答案 1 :(得分:0)
对我来说,这很完美:
<activity
android:name=".MainActivity"
android:clearTaskOnLaunch="true"
android:launchMode="singleTask">