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

3
我正在使用以下代码在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 level 23) 在此输入图片描述

截图(API level 26) 在此输入图片描述

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

1个回答

2
经过测试你的代码,我发现问题出在你的 mMessagesList 大小上。API 23 及以下版本通知样式与 API 26+ 不同。当你设置 mBuilder.setNumber(mMessagesList.size()) 时,就会出现问题。 如果数字大小为1000或更高,则数字将显示为999+。 我认为你正在使用虚假消息测试通知,并且消息列表大于或等于1000。
因此,在实际情况下,您将得到精确的数字。您可以检查 API 级别以显示数字或不显示数字。
我想你已经明白了。

请重新检查您的messageList大小。或者在logcat中打印int日志。或者在mBuilder.setNumber(20)中设置静态数字,以进行测试目的。 - Tariqul Islam
1
是的,列表大小超过999,因此它显示为+999。 - Naveen Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接