Notificação de repetição diária do Android em um horário específico do dia usando o AlarmManager

Preciso que o aplicativo Android envie notificações para lembrar os usuários às 8h, 15h e 20h todos os dias. Então, eu uso as três linhas a seguir em onCreate () da MainActivity, quando o aplicativo é iniciado. No entanto, quando executo o aplicativo, as três notificações são recebidas de uma só vez, e não no horário desejado.

    setRepeatedNotification(1,8,0,0); 
    setRepeatedNotification(2,15,0,0); 
    setRepeatedNotification(3,20,0,0);    

Por que é que? Também anexo a função setRepeatedNotification aqui. Obrigado!

private void setRepeatedNotification(int ID, int hh, int mm, int ss) {
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    Intent alarmIntent = new Intent(MainActivity.this, AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, ID, alarmIntent, 0);

    Calendar calendar = Calendar.getInstance();
   // calendar.set();
    calendar.set(Calendar.HOUR_OF_DAY, hh);
    calendar.set(Calendar.MINUTE, mm);
    calendar.set(Calendar.SECOND, ss);

    // Clear previous everyday pending intent if exists.
    if (null != mEverydayPendingIntent) {
        alarmManager.cancel(mEverydayPendingIntent);
    }
    mEverydayPendingIntent = pendingIntent;
    alarmManager.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, mEverydayPendingIntent);
}

questionAnswers(2)

yourAnswerToTheQuestion