diff --git a/platform/android/sdk/src/com/ansca/corona/notifications/NotificationServices.java b/platform/android/sdk/src/com/ansca/corona/notifications/NotificationServices.java index 6a1fff089..d4544b167 100644 --- a/platform/android/sdk/src/com/ansca/corona/notifications/NotificationServices.java +++ b/platform/android/sdk/src/com/ansca/corona/notifications/NotificationServices.java @@ -442,7 +442,14 @@ private void postSystemNotification(NotificationSettings settings) { android.app.AlarmManager alarmManager; String serviceName = android.content.Context.ALARM_SERVICE; alarmManager = (android.app.AlarmManager)context.getSystemService(serviceName); - if (android.os.Build.VERSION.SDK_INT >= 23) { + + if (android.os.Build.VERSION.SDK_INT >= 33 && !alarmManager.canScheduleExactAlarms()) { + alarmManager.set( + android.app.AlarmManager.RTC_WAKEUP, + scheduledSettings.getEndTime().getTime(), + pendingIntent); + } + else if (android.os.Build.VERSION.SDK_INT >= 23) { NotificationServices.ApiLevel23.alarmManagerSetExactAndAllowWhileIdle( alarmManager, android.app.AlarmManager.RTC_WAKEUP,