【问题标题】:How to manage setNumber or setSubText method of Notification in Android Nougat如何在 Android Nougat 中管理通知的 setNumber 或 setSubText 方法
【发布时间】:2018-06-25 09:52:51
【问题描述】:

正如android google blog 明确提到的,Android Nougat 根本不支持setNumbersetContentInfo,甚至我已经在Android Nougat 上进行了测试。

来自 Google 博客的行:

此外,潜台词现在取代了内容信息和 号码

因此,当我将 setNumber 用于 Nougat 之前的设备并将 setSubText 用于 Nougat 时,只有 setSubText 方法才能正常工作。但是当我在运行早期版本的设备上运行它时,它们将两种方法都运行为setNumbersetSubText

  1. 那么我该如何处理呢?
  2. 为什么android更喜欢setSubText

另外setNumbersetContentInfo有什么区别?

【问题讨论】:

    标签: android notifications android-7.0-nougat


    【解决方案1】:
    1. 那么我该如何处理呢?

    您想要的结果是让您的通知显示您在 Nougat 及更高版本上传递给 setSubText() 的任何内容,以及在 Marshmallow 及更低版本上显示您传递给 setNumber() 的任何内容。您可以通过在运行时检查Build 信息来完成此操作:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        // your setSubText() code here
    } else  {
        // your setNumber() code here
    }
    
    1. 为什么android更喜欢setSubText

    我只能真正引用您在此处链接的博客文章。他们说:

    “许多分布在通知周围的字段已折叠到一个新的标题行中,您的应用图标和名称锚定了通知。”

    在我看来,这听起来像是基于设计的偏好。

    另外setNumbersetContentInfo有什么区别?

    Documentation for setContentInfo(): "在通知右侧设置大号文字。"

    Documentation for setNumber(): "在通知的右侧设置大数字。这相当于 setContentInfo,尽管它可能会以不同的字体大小显示数字以提高可读性。" (强调)

    【讨论】:

    • 你用于构建版本检查的if条件是官方方式吗?
    猜你喜欢
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多