如何从状态栏中单击通知项时清除后堆栈活动?

时间:2014-09-24 18:20:14

标签: android back-stack

我正在开展聊天项目。当从GCM收到推送通知时,我需要导航到聊天联系人列表并清除以前打开的应用程序活动。

3 个答案:

答案 0 :(得分:7)

在GCMIntent Service中传递挂起的意图时,需要为intent设置标志。 代码如下。如果有人在努力解决这个问题,请使用它。

PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
        new Intent(this, MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
                Intent.FLAG_ACTIVITY_CLEAR_TASK), 0);

答案 1 :(得分:2)

我建议您阅读有关Notification NavigationNotification Update

的文档

答案 2 :(得分:0)

在清单中的活动标签中添加“taskAffinity”和“excludeFromRecents”以及标记“FLAG_ACTIVITY_NEW_TASK”,正如saranya建议的那样对我有用。

<activity
        android:name=".MainActivity"
        android:launchMode="singleTask"
        android:taskAffinity=""
        android:excludeFromRecents="true">


val notificationIntent = Intent(this, 
MainActivity::class.java).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK or 
Intent.FLAG_ACTIVITY_CLEAR_TASK)
val pendingIntent: PendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0)