Реализация будильника каждые 5 дней, код правильный? - PullRequest
0 голосов
/ 18 сентября 2011

Я пытаюсь установить будильник каждый 5-й день недели и 24-й час этого дня.

Вот код, который я использую. Я читал документы календаря и AlarmManager,

и вот что я придумала.

 String alarm = Context.ALARM_SERVICE;
     //Alert for game covers
     am = (AlarmManager)context.getSystemService(alarm);
     calendar = Calendar.getInstance();
     calendar.set(Calendar.DAY_OF_WEEK, 5);
     calendar.set(Calendar.HOUR_OF_DAY, 23);
     calendar.set(Calendar.MINUTE, 0);
     calendar.set(Calendar.SECOND, 0);
    Intent Aintent = new Intent("REFRESH_THIS");
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, Aintent, 0);
    am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis() , AlarmManager.INTERVAL_DAY, pi);

Это правильно для того, что я хочу сделать?

1 Ответ

0 голосов
/ 18 сентября 2011

Чтобы получить экземпляр Calendar, который указывает на дату 5 дней в будущем, вы берете текущую дату и добавляете 5 дней следующим образом:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 5);

Затем вы устанавливаете будильник:

am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
                pendingIntent);
...