From 8364f8e1b75f2ff68d2eebcdcdb7541a7eee7d29 Mon Sep 17 00:00:00 2001 From: Snek Date: Wed, 29 Mar 2017 11:23:58 +0300 Subject: [PATCH] Alarm: set exact time for SDK versions > 19 --- .../main/java/com/example/yink/amadeus/AlarmActivity.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java b/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java index a689fbc..1555893 100644 --- a/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java +++ b/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java @@ -80,7 +80,11 @@ public class AlarmActivity extends AppCompatActivity { calendar.add(Calendar.DATE, 1); } - alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); + } else { + alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); + } editor.putLong("alarm_time", calendar.getTimeInMillis()); Toast.makeText(this, "Alarm has been set for " + alarmTimePicker.getCurrentHour() + " hour(s) " + alarmTimePicker.getCurrentMinute() + " minute(s)", Toast.LENGTH_SHORT).show(); } @@ -94,7 +98,7 @@ public class AlarmActivity extends AppCompatActivity { calendar.add(Calendar.DATE, 1); } - alarmManager.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); + alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); editor.putLong("alarm_time", calendar.getTimeInMillis()); Toast.makeText(this, "Alarm has been set for " + alarmTimePicker.getHour() + " hour(s) " + alarmTimePicker.getMinute() + " minute(s)", Toast.LENGTH_SHORT).show(); }