2013-11-19 3 views
1

Я хотел бы запускать автоматически каждый день в заданное время (например, в 10 часов утра) некоторый код в моем приложении.AlarmManager Android триггерный будильник каждый день в 10:00

Я пытался сделать с помощью:

am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 120 , pi); 

Но setRepeating принимает только время в миллисекундах.

Я хотел бы спросить, можно ли установить что-то вроде 10:00, REPEAT_DAILY?

Спасибо за любой совет.

ответ

3

насчет

am.setRepeating(AlarmManager.RTC_WAKEUP, tenOclockToday, 
     AlarmManager.INTERVAL_DAY, pi); 

Вам необходимо установить long tenOclockToday равным значению миллисекундной 10:00 сегодня (если это не прошлое 10:00, то вы можете установить его в 10:00 завтра) , Вы должны будете использовать Calendar экземпляр и установить время до 10:00, а затем получить миллисекунды из календаря с помощью calendar.getTimeInMillis()

+0

Спасибо за ответ: Я пытался сделать следующим образом: // Установить обжиг получателя в предопределенное время каждый день Календарь firingAt = Calendar.getInstance(); firingAt.set (Calendar.HOUR, 21); // В тот час, когда вы хотите стрелять firingAt.set (Calendar.MINUTE, 54); // Частная минута firingAt.set (Calendar.SECOND, 0); // конкретный второй long millis = firingAt.getTimeInMillis(); am.setRepeating (AlarmManager.RTC_WAKEUP, millis, AlarmManager.INTERVAL_DAY, pi); Toast.makeText (контекст, «ТАЙМЕР SET», Toast.LENGTH_LONG) .show(); Но мое решение не работает. – redrom

+0

Я решил использовать firingAt.set (Calendar.HOUR_OF_DAY, 22); – redrom

+0

Рад, что вы смогли это решить. –

Смежные вопросы