You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不让前台服务的持续通知计入应用角标计数?

解决前台服务通知不计入应用角标计数的问题

要让Ongoing类型的前台服务通知不被计入应用角标计数,你需要在通知渠道和通知本身两个层面配置禁用角标显示:

1. 修改通知渠道配置

在创建NotificationChannel时,调用setShowBadge(false)方法,禁用该渠道下所有通知的角标显示:

fun createNotificationChannel(context: Context) {
    val channel = NotificationChannel(CHANNEL_ID, _NOTIFICATION_CHANNEL_ID, NotificationManager.IMPORTANCE_DEFAULT)
    // 禁用渠道的角标显示
    channel.setShowBadge(false)
    val nm = context.getSystemService(NotificationManager::class.java) as NotificationManager
    nm.createNotificationChannel(channel)
}

2. 修改通知实例配置

在构建Notification时,同样调用setShowBadge(false)方法,确保当前通知单独禁用角标(部分厂商设备需要此配置作为补充):

fun createNotification(context: Context, remoteViews: RemoteViews) =
    NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID)
        .setPriority(NotificationCompat.PRIORITY_LOW)
        .setSmallIcon(R.drawable.ic_notification)
        .setContentTitle("notification")
        .setContentText("notification")
        .setOngoing(true)
        // 禁用当前通知的角标显示
        .setShowBadge(false)
        .setStyle(NotificationCompat.DecoratedCustomViewStyle())
        .setCustomContentView(remoteViews)
        .setCustomBigContentView(remoteViews)
        .setContentIntent(getClickPendingIntent(context))

补充说明

  • 该配置仅对Android 8.0(API 26)及以上版本生效,因为通知渠道是Oreo引入的特性。
  • 部分定制化ROM(如小米、华为)可能有自己的角标规则,上述配置是符合官方标准的实现,大部分主流厂商都会兼容。

内容的提问来源于stack exchange,提问作者Juhyun Park

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:24:55