gpt4 book ai didi

android - 无法检索新的 intent extra

转载 作者:行者123 更新时间:2023-11-29 20:38:33 25 4
gpt4 key购买 nike

我想向您寻求帮助,因为在尝试解决这个问题几个小时后仍然无法解决问题。我有一个通知管理器,它处理传入的 GCM 消息并创建通知,但是传递给未决 Intent 的 Intent 总是在 Activity 中得到旧的附加信息( Intent 回收)。

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));

假设我将收到来自两个不同用户的两个通知,并且 Intent 启动显示该用户 ID 的相同 Activity 。单击第一个通知后, Activity 将照常启动,并且 intent 的 extras 包含第一个用户的用户 ID。但是,如果我将留在此 Activity 中,并单击另一个推送通知,则会重新创建一个 Activity (调用 onDestroy),但是 Intent 的附加内容包含第一个用户的用户 ID,而不是第二个用户的用户 ID。

这是我的问题。如何检索新的 intent extras?我已经尝试过实现 onNewIntent 回调方法,但它从未被调用过,也尝试过更改标志但未成功,对我来说有点奇怪的是,即使在调用 onDestroy 回调之后,该 Activity 的下一个实例中的 Intent 额外内容已经过时数据...

提前致谢

最佳答案

PendingIntent 中获取 Activity 时,您需要传递唯一的 Id 而不是 0:

int iUniqueId = (int) (System.currentTimeMillis() & 0xfffffff);
builder.setContentIntent(PendingIntent.getActivity(context, iUniqueId, intent, PendingIntent.FLAG_UPDATE_CURRENT));

关于android - 无法检索新的 intent extra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31219799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com