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

How to remove "+999" from notification?

我正在使用以下代码在 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级)

截图(API 26级)

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

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

如果号码大小为 1000 或以上,则号码将显示 999+。

我认为您正在使用虚拟消息和大于或等于 1000 的消息列表测试通知。

因此对于实际情况,您会得到准确的数字。您可以检查 API 级别是否显示数字。

我想你明白了。