1

我的应用程序中有一个通知,我希望它在用户单击它时恢复现有活动。通知是在我想带回来的活动中生成的,所以我认为它仍然存在。

这是我的通知代码:

NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    Notification noti = new Notification(R.drawable.icon, "s", 0);
    CharSequence title = "S";
    CharSequence details = "W";
    Intent intent = new Intent(getBaseContext(), Start.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
    PendingIntent pending = PendingIntent.getActivity(getBaseContext(), 0, intent, 0);
    noti.setLatestEventInfo(Start.this, title, details, pending);
    nm.notify(0,noti);

但由于某种原因,它不断创建一个新的活动。我究竟做错了什么?

4

1 回答 1

1

“通知是在我想带回来的活动中生成的,所以我认为它仍然存在。” 好吧,它可能会,但通常对你来说指望它不是一个好主意。如果用户仅在使用后退按钮退出您的应用程序后,或者在操作系统杀死您的活动而用户一直在做其他事情的一段时间后点击通知怎么办?您需要“旧”活动是否有特殊原因?如果它具有您需要保存或重新创建的状态,您可以这样做:查看http://developer.android.com/training/basics/activity-lifecycle/recreating.htmlhttp://developer。 android.com/guide/components/activities.html#SavingActivityState

于 2012-11-03T20:50:09.703 回答