gpt4 book ai didi

java - 如何更新现有通知?

转载 作者:太空宇宙 更新时间:2023-11-04 12:21:48 25 4
gpt4 key购买 nike

您好,我希望通知的行为如下:

当我的应用程序没有任何通知时,应该创建一个通知,但是当托盘中已有通知时,我想更新通知的数据。

我可以获取当前通知或任何其他方式吗?

此外,我还有单一类型的 UI + 通知数据,该通知会在发生特定事件时频繁触发。

例如在应用程序每 5 分钟后获取有关比赛得分的消息的情况下,因此当前通知应根据收到的最后一条消息进行更新,因此不应为每个得分更新消息发送通知。

我的代码如下:

Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(Constants.SOME_DATA, someData);

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
PendingIntent.FLAG_UPDATE_CURRENT);

Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.icon)
.setContentTitle(title)
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);

NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());

最佳答案

如果您想永久运行单个通知并更新该通知,则必须使用 startForeground(NOTIFICATION_ID, notification); 创建前台通知并且您可以使用相同的 NOTIFICATION_ID 来更新通知,其中您的情况是 0/* 通知 ID */或者如果您想要简单的通知,则可以使用相同的 NOTIFICATION_ID 更新您的通知,并将 FLAG_UPDATE_CURRENT 保留在您的待处理 Intent 中

关于java - 如何更新现有通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38789060/

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