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