gpt4 book ai didi

android - getLongExtra 始终使用 PendingIntent 返回默认值

转载 作者:行者123 更新时间:2023-11-29 17:44:15 28 4
gpt4 key购买 nike

我想像这样使用 PendingIntent 传递一个长值

Intent intentForPending = new Intent(context, NewBlaBlaActivity.class);
long courseId = 15252;
intentForPending.putExtra("courseId", courseId);
intentForPending.putExtra("isFromPushNotification", true);

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intentForPending, 0);

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
context).setSmallIcon(R.drawable.appicon)
.setContentTitle("BlaBla")
.setStyle(new NotificationCompat.BigTextStyle().bigText(message))
.setContentText(message)
.setAutoCancel(true);


mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());

并获取如下值

Intent intent = getIntent();
if(intent.getBooleanExtra("isFromPushNotification", false)) {
long courseId = intent.getLongExtra("courseId", 0);
}

但我总是从 Intent 中得到 0。奇怪的是,虽然我可以从 Intent 中获取带有“isFromPushNotification”键的 bool 值,但我无法从相同的 Intent 中获取长值。

这让我发疯。如您所见,这是一个 PushNotification,当我点击通知时,这段代码就会运行。

我尝试了从论坛和 stackoverflow 中的问题中获得的所有方法,在 def 上添加 L 后缀,在长对象上添加原始值。但我认为 PendingIntent 是湿毯子。

我正在等待您的建议。谢谢!

最佳答案

如果您打算将附加功能与 PendingIntent 一起使用,请始终在 PendingIntent 工厂方法 (getActivity()在你的情况下)。可能你想要 FLAG_UPDATE_CURRENT , 以指示用新的额外内容替换任何现有的 PendingIntent 内容。

关于android - getLongExtra 始终使用 PendingIntent 返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27567827/

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