单击通知图标时的android通知

时间:2011-11-07 23:54:28

标签: android notifications android-pendingintent

我写了这样的通知意图(下面的代码段)。我有活动A,B和C运行。在运行C时,我按下主屏幕并很快收到通知。我按下了通知图标,希望从活动A重新启动应用程序但不幸的是它没有。当前代码的作用是在堆栈顶部创建一个新的Activity A.所以我坚持使用以下运行活动(或堆栈):A,B,C,A

所以我的主要问题是,如何清理活动堆栈,以便在单击通知图标时只有活动A在堆栈上?

任何提示或评论都会表示赞赏。

  Intent notificationIntent = new Intent(context,
                A.class);

        notificationIntent.setAction(Intent.ACTION_MAIN);
        notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                | Intent.FLAG_ACTIVITY_CLEAR_TOP);

  PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
                notificationIntent, 0);

        notification.setLatestEventInfo(appContext, contentTitle,
                contentText, contentIntent);

        String ns = Context.NOTIFICATION_SERVICE;
        NotificationManager mNotificationManager = (NotificationManager) context
                .getSystemService(ns);


  mNotificationManager.notify(1, notification);

2 个答案:

答案 0 :(得分:0)

为清单中的活动A设置launchMode =“singleTask”。在这种情况下,活动A将是您从通知返回后运行的唯一活动。

但是,当启动模式为singleTask或singleInstance时,当您从后台恢复应用时,您的应用的行为方式会相同。它不可能恢复到活动B或C.

答案 1 :(得分:0)

This question可以通过FLAG_ACTIVITY_CLEAR_TOP或使用startActivityForResult为您提供帮助。