diff --git a/gpslogger/src/main/java/com/mendhak/gpslogger/GpsLoggingService.java b/gpslogger/src/main/java/com/mendhak/gpslogger/GpsLoggingService.java index 5d4513cab..07aba969c 100644 --- a/gpslogger/src/main/java/com/mendhak/gpslogger/GpsLoggingService.java +++ b/gpslogger/src/main/java/com/mendhak/gpslogger/GpsLoggingService.java @@ -330,11 +330,10 @@ public void setupAutoSendTimers() { } PendingIntent sender = PendingIntent.getBroadcast(this, 0, alarmIntent, flags); AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - am.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, sender); - } - else { - am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, sender); + if(AlarmManagerCompat.canScheduleExactAlarms(am)){ + AlarmManagerCompat.setExactAndAllowWhileIdle(am, AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, sender); + } else { + AlarmManagerCompat.setAndAllowWhileIdle(am, AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, sender); } LOG.debug("Autosend alarm has been set");