我的应用程序中有一个提示,它会在计划闹钟前15分钟触发通知。我正在使用24小时格式,所以当我在早上设置闹钟时,通知即将到来,但是当我在12:00之后尝试设置闹钟13:30时,通知没有触发。
这是我的AlarmManager:
public void saveChanges(Context context) {
init(context);
if (getReminderStatus) {
Calendar calendar = Calendar.getInstance();
//calendar.set(Calendar.DAY_OF_WEEK, workOutDays[i] + 1); //+1 because for android sunday is 1
calendar.set(Calendar.HOUR_OF_DAY, getHours());
Log.d("alarm","hours"+ String.valueOf(getHours()));
calendar.set(Calendar.MINUTE,getMinutes());
Log.d("alarm","minutes"+ String.valueOf(getMinutes()));
alarmManager.cancel(pendingIntent);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
}
}
AlarmReceiver:
public void onReceive(Context context, Intent intent) {
getDataFromSharedPrefrence();
if(!isTodayRestDay() && getReminderStatus){
NotificationFCM notificationFCM = FCMUtility.getFCM(getIntentData());
FCMHelper.instance.displayFCM(notificationFCM,context);
}
//Toast.makeText(context,"show notification",Toast.LENGTH_SHORT).show();
}
我也尝试调试但在PM中设置警报时控件没有进入onReceive。我必须进行任何特定的更改以在PM中设置时触发警报。
答案 0 :(得分:0)
Calendar.HOUR_OF_DAY
接受24小时甲酸盐所以你应该将12小时甲酸盐改为24小时甲酸盐,然后再将其转移至日历。
calendar.set(Calendar.HOUR_OF_DAY, hoursForDayin24hourFormate);