Используя сигналы тревоги с ожидающими трансляциями, это работало так, как предполагалось, до недавнего времени начал появляться * 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 )
Также пробовал с и без:
- Флаг
PendingIntent.FLAG_CANCEL_CURRENT
- Отмена будильника перед установкой
- Отмена ожидаемое намерение перед установкой
Является ли это устройство и android спецификацией версии c cra sh (98% на устройствах RealMe Android 10), или есть что-то, что я здесь упускаю что может помешать этому cra sh произойти?