通知徽章在 Android O 中不起作用

2024-01-04

在 Android O 开发者预览版中,谷歌引入了通知徽章,这些徽章应该显示在启动器图标上。我正在使用来自开发通道的 Android O 模拟器。我编写了一个简单的代码来显示通知徽章,但它似乎不起作用 -

        Notification notification = new Notification.Builder(getApplicationContext())
                .chooseBadgeIcon(Notification.BADGE_ICON_SMALL)
                .setSmallIcon(android.R.drawable.btn_star)
                .setNumber(10)
                .build();

        mNotificationManager.notify(1, notification);

它只是显示为正常通知。

API - https://developer.android.com/reference/android/app/Notification.Builder.html#chooseBadgeIcon(int) https://developer.android.com/reference/android/app/Notification.Builder.html#chooseBadgeIcon(int)

有人从事过这方面的工作吗?我错过了什么吗?

在设置中启用显示徽章。


也尝试过NotificationChannel。不起作用-

    NotificationChannel mChannel = new NotificationChannel("TestBadge_id", "TestBadgeName", NotificationManager.IMPORTANCE_HIGH);
    mChannel.enableLights(true);
    mChannel.setLightColor(Color.RED);
    mChannel.setShowBadge(true);
    mNotificationManager.createNotificationChannel(mChannel);


    Notification notification = new Notification.Builder(getApplicationContext())
                .chooseBadgeIcon(Notification.BADGE_ICON_SMALL)
                .setSmallIcon(android.R.drawable.btn_star)
                .setNumber(10)
            .setChannel("TestBadge_id")
                .build();

        mNotificationManager.notify(1, notification);

通知徽章示例Android-O在早期预览版本中似乎不适用于模拟器。但随着 Android-O 开发者的最新版本preview-3徽章正确显示,如文档中所述通知徽章 https://developer.android.com/preview/features/notification-badges.html部分。

要显示通知徽章,您需要设置设置显示徽章(布尔值) https://developer.android.com/reference/android/app/NotificationChannel.html#setShowBadge(boolean)通知通道true。默认情况下,徽章将显示如下:

长按时,如果有多个通知,则会显示计数。计数会根据活动通知自动增加/减少。您还可以使用以下命令手动调整计数Notification.Builder.setNumber() https://developer.android.com/reference/android/app/Notification.Builder.html#setNumber(int).

显示长按启动器图标时的通知计数的示例:

确保您的目标是最新的 API:

compileSdkVersion 26 
buildToolsVersion "26.0.0"
targetSdkVersion 26

在 Pixel Android 模拟器版本中测试26.1.1.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通知徽章在 Android O 中不起作用 的相关文章

随机推荐

  • Xbox Live 创作者计划是否可以授予对 XBL RESTful API 的访问权限以进行 Web 开发?

    我正在开发一个网站 需要从 Xbox Live 访问公共个人资料和游戏信息 为此我需要授权才能使用 Xbox Live RESTful API https learn microsoft com en us gaming xbox live
  • 如何关闭aiohttp ClientSession

    我正在尝试制作一个可以存活一天 一周或更长时间的应用程序 在应用程序的生命周期中 它会向不同的 API 发出请求 其中一些 api 可能需要登录 因此重要的是 我可以随时访问 cookie 所以我需要的是一个不同的 API 可以使用而不会阻
  • ASP.NET MVC:模型绑定复杂类型

    当绑定到对象列表有效时 我在绑定到对象时遇到问题 使用 Mvc3 1 和工具更新 当绑定到 Form 类时 HttpPost 函数接收正确的模型 当绑定到 Form ViewModel 时 HttpPost 函数收到一个空模型 绑定包含其他
  • TypeScript 文件被卡在 Chrome 调试器工具中?

    真正的神秘 最新的镀铬 ts 文件卡在调试器中并且不会更新 我清除缓存 没有任何变化 在调试器工具中 ts 文件保持冻结状态 我尝试退回服务器 关闭 Chrome 它回来卡住了 我尝试删除 js map 文件 没有任何变化 我尝试退回服务器
  • 错误“sqlserver_ado 不是可用的数据库后端”(IIS 上的 PyISAPe)

    当使用 IIS 为 Django 提供服务时 我在将 Django 项目连接到 SQL Server 2008 时遇到问题Django MSSQL http django mssql readthedocs org en latest in
  • Android kotlin mockMaker 问题

    你好 我正在尝试模拟一个最终类 因为 kotlin 中的所有类默认都是最终类 并在我的 gradle 中添加了以下依赖项 testImplementation junit junit 4 12 testImplementation au c
  • 用jquery拦截ajax请求显示BlockUI

    我正在尝试使用 jquery 拦截 ajax 请求 以显示等待消息 就像使用插件 BlockUI 一样 但是如何拦截由 asp net 框架提供的 UpdatePanel 发送的请求 有什么方法可以触发 Thanks 您可以使用开始请求 a
  • 未定义的索引[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我将一个文
  • 使用 Rails 4、邮件表单和 Ajax 发送电子邮件?

    我正在开发一个带有联系表单的应用程序 它是一个单页应用程序 我在后端使用 Rails 在前端使用 Angular 不适用于表单 和 Bootstrap 我正在尝试使用ajax 这样我就不必刷新页面 当我只是用rails 使用Mailform
  • neo4j cypher 将数组/列表转换为字符串

    我的图中的一种类型的边有一个称为roles 它是一个字符串数组 列表 它像是 Bill Smoke Haskell Moore Tadeusz Kesselring Nurse Noakes Boardman Mephi Old Georg
  • 对 mysql_real_escape_string 的每次调用都需要再次访问数据库吗?

    http php net manual en function mysql real escape string php http php net manual en function mysql real escape string ph
  • 如何在android xml中构建梯形形状?

    我想建立这个shape with bottom line and text在里面我有点困惑如何实现这个我累了 一些代码但没有得到所需的东西 到目前为止我已经尝试过这段代码 形状 xml
  • 以编程方式更改 Windows XP 中的默认代码页? (来自德尔福)

    谁能建议如何以编程方式更改默认的 Windows XP 代码页 我是在 Delphi 中执行此操作 这相当于进入控制面板 gt 区域设置 gt 非 Unicode 应用程序的语言 在这种情况下 我想切换到中文 中国 因此正在写入以下注册表字
  • HTML5 视频 - iPhone 上的当前时间设置不正确

    我设置了一个基本的 HTML5 视频 从中加载四个视频之一 我遇到的问题是 当我加载下一个视频时 它会从上一个时间位置继续播放 努力设定currentTime财产似乎要么是短暂的 要么是完全被忽视的 我已将侦听器添加到事件集合中 并且每个事
  • 将多个滤色器应用于同一个可绘制对象

    我想将多个滤色器串联应用到可绘制对象 那可能吗 或者也许创建一个过滤器 它是我想要应用的过滤器的组合 例如 我想要 Drawable d d setColorFilter 0x3F000000 Mode OVERLAY setColorFi
  • strlen 和 malloc:C 内存泄漏

    这个问题是无效的 我没有正确地释放学生 我会尽快接受向我透露这一点的答案 我是 C 新手 正在练习 malloc 从宏观上讲 我正在编写一个链表库 这个 create student 函数是我将用来测试我的链表库的许多函数之一 问题是 我运
  • 如何动态查看PL/SQL中变量的类型?

    此链接显示如何在 Oracle 中获取过程 函数变量的类型 查看变量的类型 https stackoverflow com questions 17134293 how to view the type of a variable in p
  • 为什么在大多数编程语言中数组索引都是从零开始的?

    C C C D Java 都是从零开始的 Matlab 是我所知道的唯一从 1 开始的语言 在 C 和 C 中 数组是从零开始的 因为它表示距项目列表开头的偏移量 这两行在 c 中具有相同的结果 anArray 3 4 anArray 3
  • NameError——当脚本分解为多个 python 文件时导入的模块

    很难找到这个问题的标题 希望这个线程不是重复的 我正在为一个项目使用 Python 2 7 使用 PyCharm 2016 2 2 编写这么长的脚本 并决定将其拆分为不同的 py 文件 然后我可以将其导入到主文件中 不幸的是 似乎在代码中较
  • 通知徽章在 Android O 中不起作用

    在 Android O 开发者预览版中 谷歌引入了通知徽章 这些徽章应该显示在启动器图标上 我正在使用来自开发通道的 Android O 模拟器 我编写了一个简单的代码来显示通知徽章 但它似乎不起作用 Notification notifi