android - AlarmManager 将闹钟设置为在精确时间而不是分数工作

标签 android time calendar alarm

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

    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 2014 年 10 月 20:06:00 (没有秒。我一直希望秒为 00)....

最佳答案

只需将秒设置为零即可。

timeCal.set(Calendar.SECOND, 0);

关于android - AlarmManager 将闹钟设置为在精确时间而不是分数工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26596288/

相关文章:

java - 如何缩小 Java ObjectOutputStream

c# - 具有多种类型的单击 RecyclerView 单元格元素 - Xamarin.Android

java - 致命异常 : java. lang.NullPointerException:尝试在空对象引用 onClickItem 上调用虚拟方法 void

WORDPRESS:带有自定义帖子类型 + 自定义字段的日历

excel - 问题制作日历

android - 如何将 SDK 版本从 26 更改为 19

android - 如何在 Android 上自动发送电子邮件?

c++ - 将本地时间转换为 time_t (C++)

c - 尝试使用 clock_gettime(),但从 time.h 中得到大量 "undeclared"错误

c - 需要清楚地了解 timespec 结构