【发布时间】:2011-07-11 23:58:28
【问题描述】:
我正在开发一个向用户显示通知的应用程序。通知的目的是让用户在用户处于另一个活动时更容易返回活动。我在我的应用程序中使用此代码来创建和显示通知。
notification = new Notification(R.drawable.icon,
"Notify",
System.currentTimeMillis());
notification.setLatestEventInfo(this, "App name",
"App message",
PendingIntent.getActivity(
this, 0,
new Intent(this, Main.class),
PendingIntent.FLAG_CANCEL_CURRENT));
notification.flags |= Notification.FLAG_ONGOING_EVENT;
nManager.notify(0, notification);
但是当用户点击通知时,会启动同一活动的新实例,而不是用户之前使用的那个。
我认为这与 PendingIntent 有关,但我找不到如何使该 Intent 恢复先前暂停的活动实例而不是创建新实例。
谢谢。
【问题讨论】:
-
你找到解决这个问题的方法了吗?我发现的是一种解决方法:所有活动都扩展了一个基本活动来存储活动活动的数量(onCreate 为 +1,onDestroy 为 -1),并且通知启动了一个在新任务上运行的假活动,该活动检查正在运行的activity的数量,如果是>0,它只是关闭自己,如果是==0,它启动第一个activity。
标签: android android-activity notifications android-pendingintent