AlarmManager仅适用于AM小时

时间:2016-07-12 02:14:20

标签: java android android-studio

我想知道,为什么我的警报管理器仅在我在时间选择器中设置"AM"小时时才起作用。即使它是晚上7点(因此它在电话上),如果我将警报设置为PM应该是那个时间它将无法工作,但如果我为{{1设置警报,它将起作用小时。

正如您所看到的,所有"AM"小时工作都很顺利,但当我尝试为"AM"设置闹钟时,它根本不起作用。

"PM"

2 个答案:

答案 0 :(得分:1)

您应该使用Calendar.HOUR_OF_DAY

  

获取和设置的字段编号,表示当天的小时。 HOUR_OF_DAY用于24小时制。例如,在10:04:15.250 PM,HOUR_OF_DAY是22.

Calendar alarmCalendar = Calendar.getInstance();
alarmCalendar.set(Calendar.MONTH, month);
alarmCalendar.set(Calendar.HOUR_OF_DAY, hour);
alarmCalendar.set(Calendar.MINUTE, minute);

Intent alarm_on = new Intent(this, MainTaskAlarmReciever.class);

alarm_on.putExtra("extra", "alarm on");

pendingIntent = PendingIntent.getBroadcast(this, 0, alarm_on, PendingIntent.FLAG_UPDATE_CURRENT);

mAlarmManager.set(AlarmManager.RTC_WAKEUP, alarmCalendar.getTimeInMillis(), pendingIntent);

答案 1 :(得分:-1)

@jonnv,这是我的闹钟示例应用,只需参考它。 https://github.com/ananth10/WakeUp-Alarm-Sample