alarmManager 设置警报以在准确时间而不是分数工作

Posted

技术标签:

【中文标题】alarmManager 设置警报以在准确时间而不是分数工作【英文标题】:alarmManager set an alarm to work at exact time instead of fractions 【发布时间】:2014-10-27 20:30:07 【问题描述】:

在我的应用中,我有以下内容

    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    Intent i= new Intent("MY_ALARM_NOTIFICATION");
    i.setClass(this, OnAlarmReceive.class);
    i.putExtra("id", id);

    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, id, i,PendingIntent.FLAG_UPDATE_CURRENT);

    //
    Calendar timeCal = Calendar.getInstance();
    timeCal.set(Calendar.HOUR_OF_DAY, hour);
    timeCal.set(Calendar.MINUTE, minutes);
    timeCal.set(Calendar.DAY_OF_MONTH, day);
    timeCal.set(Calendar.MONTH, month) - 1);
    timeCal.set(Calendar.YEAR, year);

    alarmManager.set(AlarmManager.RTC_WAKEUP, timeCal.getTimeInMillis(), pendingIntent);

但是,这可能会返回给我1414526788222,即Tue, 28 Oct 2014 20:06:28 GMT,但我想要的是Tue, 28 Oct 2014 20:06:00(没有秒数。我一直希望秒数为00)......

【问题讨论】:

【参考方案1】:

只需将秒数设置为零即可。

timeCal.set(Calendar.SECOND, 0);

【讨论】:

谢谢。有时我会在 AM 期间错过一些简单的东西……谢谢哥们 谢谢@RenanLopesFerreira

以上是关于alarmManager 设置警报以在准确时间而不是分数工作的主要内容,如果未能解决你的问题,请参考以下文章

如何设置警报以在固定时间正确触发?

如何创建 Azure 警报以通知任何资源删除

如何显示自定义警报以在 ios 中启用通知

从 Nlog 发送电子邮件警报以了解特定异常

添加警报以使用 jquery 制作所需的文本框

Prometheus 电子邮件警报以显示指标值