我的应用中有通知,我希望它在用户点击时恢复现有活动。 该通知是在我想要带回的活动中生成的,所以我认为它仍然存在。
这是我的通知代码:
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);
但由于某种原因,它一直在创造一项新活动。 我做错了什么?
答案 0 :(得分:1)
“通知在我想要带回的活动中生成,所以我认为它仍然存在。”好吧,它可能会,但你依靠它并不是一个好主意。如果用户仅在使用后退按钮退出应用程序后单击通知,或者在用户执行其他操作后操作系统已停止活动的一段时间后,该怎么办?是否有特殊原因需要“旧”活动?如果它具有您需要保留或重新创建的状态,则可以执行此操作:查看http://developer.android.com/training/basics/activity-lifecycle/recreating.html和http://developer.android.com/guide/components/activities.html#SavingActivityState。