如何从通知中删除“ +999”?

时间:2019-07-26 11:45:48

标签: android android-notifications android-notification-bar

我正在使用以下代码在android应用中显示收件箱样式通知。在API 23及以下版本中,当我扩展通知时,“ + 999”显示在右下方,

但是在API 24及更高版本中,“ + 999”文本不可见。

Notification.Builder mBuilder = new Notification.Builder(this);
    mBuilder.setAutoCancel(true);
    mBuilder.setContentTitle("Notification");
    mBuilder.setLargeIcon(icon);
    mBuilder.setContentText(mainMessage);
    mBuilder.setGroupSummary(true);
    mBuilder.setGroup(GROUP_KEY_BUNDLED);

Notification.InboxStyle inboxStyle = new Notification.InboxStyle();
inboxStyle.setBigContentTitle("Notification:");
// add lines 
for (String message : mMessagesList) {
    inboxStyle.addLine(message);
}
mBuilder.setNumber(mMessagesList.size());

if(mMessagesList.size() > 7){
    inboxStyle.setSummaryText("+7 more Notification");
}

mBuilder.setStyle(inboxStyle); 

屏幕截图(API级别23) enter image description here

屏幕截图(API级别26) enter image description here

如何从通知中删除“ +999”?

1 个答案:

答案 0 :(得分:2)

测试您的代码后,我发现了问题。您的mMessagesList大小的问题。 Api 23级及以下部分的通知样式与API 26+不同。当您设置mBuilder.setNumber(mMessagesList.size())时,就会发生此问题。

如果数字大小为1000或更高,则数字将显示999 +。

我认为您正在测试带有虚拟消息且消息列表大于或等于1000的通知。

因此,在实际情况下,您将获得准确的号码。您可以检查API级别是否显示数字。

我想你有主意。