如何在Android Nougat中管理Notification的setNumber或setSubText方法

时间:2018-01-16 16:11:20

标签: android notifications android-7.0-nougat

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

来自Google博客:

  

此外,子文本现在取代了内容信息和角色   编号

因此,当我使用setNumber之前的设备而非Nougat和setSubText之前的Nougat时,Nougat只能正常工作setSubText方法。但是当我在运行早期版本的设备上运行它时,它们会运行setNumbersetSubText两种方法。

  1. 那我该如何处理呢?
  2. 为什么android更喜欢setSubText
  3. 另外setNumbersetContentInfo之间有什么区别?

1 个答案:

答案 0 :(得分:0)

  
      
  1. 那我该如何处理呢?
  2.   

您想要的结果是让您的通知显示在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
  2.   

我只能引用你在这里链接的博客文章。他们说:

“围绕通知传播的许多字段已折叠为新的标题行,并且应用的图标和名称会锚定通知。”

听起来像是基于设计的偏好。

  

另外setNumbersetContentInfo之间有什么区别?

Documentation for setContentInfo():“在通知的右侧设置大文字。”

Documentation for setNumber():“在通知的右侧设置一个大号。这相当于setContentInfo,尽管为了便于阅读,它可能会以不同的字体大小显示数字。“(强调补充)