gpt4 book ai didi

android - 如何在不影响未决 Intent 及其有效负载的情况下更新通知?

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:36 28 4
gpt4 key购买 nike

我正在使用以下代码创建通知:

Intent intent = new Intent(this, GetStockQuote.class);
intent.putExtra("abc", abcObject);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);

/* Build the notification */
Notification notification = new Notification.Builder(this)
.setContentTitle(abcObject.getCode())
.setContentText(abcObject.getText())
.setAutoCancel(false)
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(pIntent).build();
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(notificationID,notification);
Log.i(TAG,"notification.notified");

如您所见,附加到通知的 PendingIntent 带有负载。它是自定义类的对象。

现在我更新服务中的通知。我知道如果您必须更新通知(而不创建新通知),则必须指定与我正在执行的相同的 notificationID

这是用于更新上面创建的通知的服务中的代码:

Intent intent = new Intent(this, GetStockQuote.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
Notification notification=new Notification.Builder(this)
.setContentTitle(newTitle)
.setContentText(newBody)
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(pIntent)
.build();

/*Get instance of Notification Manager and show the notification*/
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(notificationID,notification);

代码用新内容更新现有通知,但 PendingIntent 不包含负载。

我无权访问服务中的负载。所以,我只想用新的 textContent 更新通知服务,而不影响在创建过程中设置的有效负载。

现在的问题是我有很多这样的通知。它们每个都有一个唯一的有效负载,但 Intent 中的目标类保持不变。

有没有办法在更新通知时保留负载?

最佳答案

您正在为所有通知设置具有相同 ID 的未决 Intent 。

用这个

PendingIntent pIntent = PendingIntent.getActivity(this, notificationID, intent, PendingIntent.FLAG_UPDATE_CURRENT);

代替

PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0); 

关于android - 如何在不影响未决 Intent 及其有效负载的情况下更新通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26077183/

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