当前位置: 首页 > 知识库问答 >
问题:

Android更新应用徽章计数没有消息推送Android奥利奥

姚韬
2023-03-14

我想在没有推送通知的情况下更新应用程序图标徽章计数(例如静默推送)。我只是想在阅读应用程序内的任何通知后更新应用程序徽章计数,类似于linkedIn,在linkedIn中,当我阅读任何通知时,它会更新应用程序徽章上的计数。目前,我已经实现了一个解决方案,其中我使用带有徽章计数的FCM获得有效负载,并使用配置了静默推送通知通道的android notification builder对其进行更新。

var notificationBuilder = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID)
    .setContentTitle("New Messages")
    .setContentText("You've received 3 new messages.")
    .setSmallIcon(R.drawable.ic_notify_status)
    .setNumber(messageCount)
    .build()

但这对我来说是行不通的,因为一旦我阅读了应用程序内的任何通知,我还需要更新计数。如果我从通知托盘清除通知,然后计数也从应用徽章中消失,是否有任何方法可以在应用程序内设置没有消息推送的计数?提前感谢。

共有1个答案

卫泉
2023-03-14

因此,在围绕徽章计数更新功能工作了这么久之后,我得出结论,Android系统不提供任何应用程序接口来更新应用程序图标上的徽章计数,而无需通知。在Android中,我们可以在内部发送通知,并在此帮助下,我们可以更新徽章计数。

因此,我们需要通知设备更新徽章计数,而不通知我们无法更新它。如果我们要将计数发送给Notification Builder,那么我们只需要注意每次更新badge count以保持通知id不变,如果我们要更新badge count,否则它将向其以前的通知中添加计数。只需保持通知id不变,并使用静默推送创建一个单独的通道来更新徽章计数。

public static int NOTIFICATION_ID = 1001; 
NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build());

解决方案将覆盖以前的计数。

 类似资料:
  • 我已经得到推送通知工作,并设法更新图标徽章计数时,应用程序被带到前台。 但我对此有点困惑。。。iPhone收到通知,弹出消息显示激活我的应用程序,徽章仅在我启动应用程序后更新。 就用户体验而言,这听起来并不正确。我的理解是,徽章计数应该通过递增计数通知用户需要采取的行动,但这要等到应用程序运行的后期才会发生。 那么,当应用程序在后台收到推送通知时,有没有办法告诉它更新徽章计数? 请注意,我的应用程

  • 在我的应用程序中,我使用firebase推送通知。我想为所有版本的设备(如Whatsapp)显示应用图标徽章(应用图标上的点), 在Android8中,徽章仅通过打开设置(在手机中)显示- 默认情况下,我需要打开此设置

  • 我正在开发android GCM,以便我的应用程序向用户发送推送通知。我正在学习这个教程 http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/ 但是在本教程中,它表明我们可以向单个设备发送推送通知。但我想一次向所有用户发送推送通知。

  • 我的代码如下:, 从服务器通知FCM(C#) 我对上述要求的答复 {"multicast_id":5002368547300,"成功": 1,"失败": 0,"canonical_ids": 0,"结果":[{"message_id":"0:14200031 c4rrr5787蛋"}]} 我假设一旦FCM收到新的通知,它将把这些通知推送到各自的Android设备。 但对我来说,它不起作用。

  • 我正在开发一个Android应用程序,它使用NFC来注册设备间的触摸。我正在使用两个Nexus 7进行测试。 理想的用例是让应用程序在一个设备上处于活动状态,而不是在另一个设备上处于活动状态。主动设备推送一个包含一些数据的记录的NDefMessage,供被动设备应用处理。被动设备将包含一些数据的记录传回主动应用。 我在清单中设置了以下意图过滤器: 在我的主要活动中,我在onCreate中设置了以下

  • 当我的数据库记录在服务器上更新时,它会通过FCM向Android应用程序用户发送推送通知。通知已发送,但设备上的徽章计数未更新。如何设置更改徽章应用程序图标的通知?