IllegalStateException AlarmManager Максимальный предел одновременных аварийных сигналов 500, достигнутый на Android 10 - PullRequest
2 голосов
/ 14 апреля 2020

Используя сигналы тревоги с ожидающими трансляциями, это работало так, как предполагалось, до недавнего времени начал появляться * sh для устройств RealMe, работающих на Android 10 и нескольких устройств OPPO на Android 7.1.1

Cra sh: IllegalStateException: Maximum limit of concurrent alarms 500 reached for uid on AlarmManager.setRepeating()

StackTrace:

Caused by java.lang.IllegalStateException: Maximum limit of concurrent alarms 500 reached for uid: u0a336, callingPackage: com.application.services.partner
       at android.os.Parcel.createException + 2095(Parcel.java:2095)
       at android.os.Parcel.readException + 2055(Parcel.java:2055)
       at android.os.Parcel.readException + 2003(Parcel.java:2003)
       at android.app.IAlarmManager$Stub$Proxy.set + 320(IAlarmManager.java:320)
       at android.app.AlarmManager.setImpl + 709(AlarmManager.java:709)
       at android.app.AlarmManager.setRepeating + 454(AlarmManager.java:454)

Настройка будильника с помощью:

val pendingIntent = PendingIntent.getBroadcast(
                        applicationContext, 0,
                        Intent(applicationContext, MyBroadcastReceiver::class.java),
                        PendingIntent.FLAG_UPDATE_CURRENT )

alarmManager.setRepeating(
                AlarmManager.ELAPSED_REALTIME_WAKEUP,
                INITIAL_DELAY,
                ONE_MINUTE_MILLIS,
                pendingIntent )

Также пробовал:

alarmManager.setExact(
                AlarmManager.ELAPSED_REALTIME_WAKEUP,
                INITIAL_DELAY,
                pendingIntent )

Также пробовал с и без:

  1. Флаг PendingIntent.FLAG_CANCEL_CURRENT
  2. Отмена будильника перед установкой
  3. Отмена ожидаемое намерение перед установкой

Является ли это устройство и android спецификацией версии c cra sh (98% на устройствах RealMe Android 10), или есть что-то, что я здесь упускаю что может помешать этому cra sh произойти?

...