установите время в диспетчере будильников Android - будильник срабатывает мгновенно

Возможный дубликат:
Почему мой Android Alarm Manager срабатывает мгновенно?

У меня есть этот код, который вызовет уведомление о тревоге

public static  Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.add(Calendar.HOUR_OF_DAY,hour);
cal.add(Calendar.MINUTE, min);
Intent intent = new Intent(this,  OnetimeAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent,0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis() , pendingIntent); 
Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();

но будильник срабатывает мгновенно, а не ждать по истечении заданного часа и минут? я должен добавить что-нибудь в файл манифеста?


person wafa_sh    schedule 23.10.2010    source источник


Ответы (1)


Вы используете текущее время для установки будильника. Так что сгорает мгновенно.

Проверьте API. http://developer.android.com/reference/android/app/AlarmManager.html#set%28int,%20long,%20android.app.PendingIntent%29

Там вы передаете время, когда будильник сработает вторым параметром. В вашем случае это фактическое время. Таким образом, вы должны добавить количество времени, которое вы хотите подождать, ко времени, когда вы передаете метод прямо сейчас.

person RoflcoptrException    schedule 23.10.2010
comment
Я хочу, чтобы он срабатывал через час и минуту, как вы можете видеть, cal.add(Calendar.HOUR_OF_DAY,hour); cal.add(Календарь.МИНУТА, мин); // час будет, например, 5, а мин будет 30, но это тоже не работает! - person wafa_sh; 23.10.2010
comment
затем покажите код, в котором вы устанавливаете переменную часа и минуты - person RoflcoptrException; 24.10.2010