1

我想安排一个警报,当日期更改时会引发一个意图。

我知道这可以完成这项工作

alarms.setRepeating(AlarmManager.RTC_WAKEUP,triggerAtTime, interval,alarmIntent);

但是让我感到困惑的是在 triggerAtTime 和间隔中放入什么。它说 System.currentTimeMillis() 时基。

我可能会在任何一天安装该应用程序,因此 TriggerAtTime 应该是那天的午夜,并且从那里开始间隔是 24 小时。

我怎样才能做到这一点。有人可以告诉我在 TriggerAtTime 和间隔中放入所需格式的内容吗?

谢谢

4

3 回答 3

0

对于 triggerAtTime,这是第一次触发警报的时间。

间隔参数是每次点击之间的时间,为你 24 小时,以毫秒为单位:24*60*60*1000

例如,如果您想在 10 秒后开始更新,您的代码应该是:

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10 * 1000),24*60*60*1000, alarmIntent);

如果要将第一次点击设置为午夜,则应计算午夜与现在之间的时间(以毫秒为单位)。我希望你能理解我的法语糟糕的英语。

巴斯特

于 2011-03-09T08:18:16.187 回答
0

你可以这样尝试

Calendar calendar=Calendar.getInstance();

    calendar.add(Calendar.DATE, 1);
    calendar.set(Calendar.HOUR,0);
    calendar.set(Calendar.MINUTE,0);
    calendar.set(Calendar.SECOND,0);
    calendar.set(Calendar.MILLISECOND,0);

    mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), (24*60*60*1000), mPendingIntent);
于 2011-04-13T16:24:56.697 回答
0

它们都是 long 类型,我认为您需要以毫秒为单位设置它们...

于 2011-02-27T07:30:20.337 回答