【发布时间】:2015-07-04 10:57:35
【问题描述】:
我想向您寻求帮助,因为在尝试解决这个问题几个小时后仍然无法解决问题。 我有一个通知管理器,它处理传入的 GCM 消息并创建通知,但是传递给待处理意图的意图总是在活动中得到旧的附加信息(意图回收)。
intent.putExtra("user_id", id);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
builder.setContentIntent(PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
假设我将收到来自两个不同用户的两个通知,并且意图启动显示该用户 ID 的相同活动。单击第一个通知后,活动将像往常一样启动,并且意图的附加内容包含第一个用户的用户 ID。但是,如果我将留在此活动中,并单击另一个推送通知,则会重新创建一个活动(调用 onDestroy),但意图的附加内容包含第一个用户的用户 ID,而不是第二个用户。
这是我的问题。如何检索新的意图附加内容?我已经尝试实现 onNewIntent 回调方法,但它从未被调用,也尝试更改标志但未成功,对我来说有点奇怪的是,即使在调用 onDestroy 回调之后,该活动的下一个实例中的意图额外内容已经旧数据...
提前致谢
【问题讨论】:
标签: android android-intent android-activity notifications push-notification