Android Alarm работает, но с задержкой

Я пытаюсь сделать простой будильник, и все работает как надо, но я обнаружил, что срабатывание будильника задерживается.

Я думаю, что проблема может заключаться в том, что система записывает точную миллисекунду, я устанавливаю будильник, а затем активирую тревогу в эту точную миллисекунду. Так, например, если я сделаю будильник на 8:00 утра, но я установил будильник на 10: 00: 30.225 вечера, то будильник сработает в 8: 00: 30.225 ночи.

Как бы мне было убедиться, что будильник срабатывает ровно в минуту? Я попытался использовать setExact (...), но это просто вызвало сбой моего приложения.

Заранее спасибо!

public void setAlarm(View view) {

    TimePicker timePick = (TimePicker) findViewById(R.id.time_pick);
    Calendar calendar = Calendar.getInstance();

    //Set alarm based on values in time picker
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.set(Calendar.HOUR_OF_DAY, timePick.getCurrentHour());
    calendar.set(Calendar.MINUTE, timePick.getCurrentMinute());

    setAlarmDisplay(calendar); //shows time in EEE, MMM d yyyy hh:mm aa format

    Intent intent = new Intent(this, AlarmReceiver.class);
    alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
    alarmManager = (AlarmManager) (this.getSystemService(Context.ALARM_SERVICE));
    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), alarmIntent);

    Toast.makeText(view.getContext(), "Alarm set!", Toast.LENGTH_LONG).show();
}

Ответы на вопрос(1)

Ваш ответ на вопрос