сигнализации Комплект на 5 сек от текущего времени:
Intent activate = new Intent(this, AlarmActivity.class);
AlarmManager alarms ;
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, activate, 0);
alarms = (AlarmManager) getSystemService(ALARM_SERVICE);
alarms.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis()+5000, alarmIntent);
Здесь 5000 был миллисекунды. Вы можете добавить целевое время в формате миллисекунд.
Если вы хотите установить его для определенного времени, сделайте следующее: вам необходимо установить будильник, чтобы позвонить в следующий раз, когда это 5:59:00. Вы делаете это, получая текущее время, если оно до 5:59:00, установите будильник, если его после 5:59:00 затем добавьте день и установите будильник. Делают это так:
import java.util.Calendar;
import java.util.Date;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(new Panel(this));
Date dat = new Date();//initialises to now
Calendar cal_alarm = Calendar.getInstance();
Calendar cal_now = Calendar.getInstance();
cal_now.setTime(dat);
cal_alarm.setTime(dat);
cal_alarm.set(Calendar.HOUR_OF_DAY,5);//set the alarm time
cal_alarm.set(Calendar.MINUTE, 59);
cal_alarm.set(Calendar.SECOND,0);
if(cal_alarm.before(cal_now)){//if its in the past increment
cal_alarm.add(Calendar.DATE,1);
}
//SET YOUR AlarmManager here
}
Разъяснения здесь: http://blog.blundell-apps.com/notification-for-a-user-chosen-time/, просто удалите календарь и установить его на 3 часа самостоятельно – Blundell