https://android.googlesource.com/platform/frameworks/base/+/483f3b06ea84440a082e21b68ec2c2e54046f5a6/services/java/com/android/server/NotificationManagerService.java

MAX_PACKAGE_NOTIFICATIONS

Android의 경우 앱별로 Notification(알림) 갯수를 50개로 제한하였다.

그룹화를 할경우에는 그룹타이틀을 포함하여 50개로, 실제 49개만 표시된다.(삼성 기기의 경우 Android 10 부터 25개로 제한되었다.)

그 이후, 추가 표시할 경우에는 표시가 되지 않는다.

그러므로 추가 알림의 경우 기존 알림의 ID를 기억했다가, 최대 개수를 초과한 경우 NotificationManager.cancel(int id)로 지우고 표시하면 된다. 이미 사용자가 지운 이후라도 cancel 시에 오류가 발생되지 않는다. Queue 형태로 ID를 저장하여, 저장할 공간에 ID가 있다면 cancel를 수행하고 표시할 ID를 덮어쓰는 것으로 저장한 뒤에 해당 알림을 notify를 하면 된다.

여담)

NotificationManager.notify(int id, Notification notification)를 통해 최대개수까지 표시한 이후에,

Service.startForeground(int id, Notification notification)으로 표시할 경우 최대 개수를 초과하여 표시되는 것이 확인 되었다.