这可能不合适,但我找不到任何东西。
Android应用可以显示的通知数量是否有限制?我在100次通知后面临问题。没有文件明确说明这一点。
注意:显示100个通知并不是一个好主意,但出于某些原因需要它。
任何帮助都会很好。
答案 0 :(得分:4)
根据@ Nirel的回答。
1)我尝试在3个不同的设备中运行代码。
令人惊讶的是, 50 以外的通知未显示在通知区域中。
它出现以下错误。
W/NotificationManager﹕ notify: id corrupted: sent 51, got back 0
后续调用也会出现同样的错误。
我看到了NotificationManager的来源,如果传入和传出id不相同,则会出现此错误。见下面的代码。
2)我尝试以100毫秒的间隔通知后。
它也会产生同样的错误。我执行的操作在执行代码时删除了1个通知。
令人惊讶的是,通知编号153出现在状态栏中。
所以结论是,最多可以有50个通知。这可能是默认行为,可能由制造商按@Sharp Edge所述进行更改。
日Thnx。
答案 1 :(得分:4)
在API23中
package com.android.server.notification; NotificationManagerService.java
static final int MAX_PACKAGE_NOTIFICATIONS = 50;
通知和祝酒词的限制是每app 50
答案 2 :(得分:2)
运行这个:
// prepare intent which is triggered if the
// notification is selected
Intent intent = new Intent(this, NotificationReceiver.class);
// use System.currentTimeMillis() to have a unique ID for the pending intent
PendingIntent pIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0);
// build notification
// the addAction re-use the same intent to keep the example short
Notification n = new Notification.Builder(this)
.setContentTitle("New mail from " + "test@gmail.com")
.setContentText("Subject")
.setSmallIcon(R.drawable.icon)
.setContentIntent(pIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
for(int i = 0;i<1000;i++)
{
Log.d("Tag", "notification number" + i "just published")
notificationManager.notify(i, n);
}
当应用程序崩溃时,您将看到有多少通知..
答案 3 :(得分:2)
这篇文章确实帮助我进行了有关该主题的研究。我已经写了一篇关于此的文章,例如,即使您已通过破坏最旧的通知达到最大限制,如何修改逻辑并继续发布通知。 https://medium.com/mindorks/the-notification-limit-per-app-in-android-94af69a6862c
答案 4 :(得分:1)
阅读更多相关信息here。