Android AlarmManager调度

Android AlarmManager调度,android,Android,我正试图安排我的报警管理器在一天中每小时启动一个意图。 这就是我所做的,它不能正常工作 代码: RandomMinutes是0到600之间的数字 谢谢 光线。因为第三个参数应该是您的周期,并且您有SystemClock.elapsedRealtime(),这意味着自手机启动后,闹钟将每隔随机毫秒响一次 如果您想要60分钟的周期,请使用第三个参数3600000。@commonware我有一个类似的问题。目前,我的应用程序中有一个每天运行一次的警报,只是为了检查给定的服务器并准备就绪。但在应用程序创

我正试图安排我的报警管理器在一天中每小时启动一个意图。 这就是我所做的,它不能正常工作

代码:

RandomMinutes是0到600之间的数字

谢谢


光线。

因为第三个参数应该是您的周期,并且您有
SystemClock.elapsedRealtime()
,这意味着自手机启动后,闹钟将每隔随机毫秒响一次


如果您想要60分钟的周期,请使用第三个参数
3600000

@commonware我有一个类似的问题。目前,我的应用程序中有一个每天运行一次的警报,只是为了检查给定的服务器并准备就绪。但在应用程序创建alarm实例时,它每天只运行一次。也就是说,如果应用程序每天开放到前3个下午,应用程序将在下午3点“报警”。我想要的是,例如,在应用程序第一次运行时,每次上午10点都会执行报警。我该怎么做?@WalterBarreiroNeto:使用
java.util.Calendar
构造第一个事件的时间,使用
RTC
风格的报警,并使用24小时(毫秒)作为周期。
 new code after edit:


          Calendar cal = Calendar.getInstance();
    cal.set(Calendar.HOUR_OF_DAY , 22); //22:00 of every evening
    cal.set(Calendar.MINUTE , 0); //initiate minute time
    cal.set(Calendar.SECOND , 0);
    cal.add(Calendar.MINUTE, randomMinutes); //adding mintues so we get random time btw 22:00-07:00
    cal.add(Calendar.DAY_OF_YEAR, 1); //switching to the next day.



    am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
            AlarmManager.INTERVAL_DAY, pi);