在PM中设置时间时通知不会到来

时间:2018-01-03 05:04:34

标签: android alarmmanager

我的应用程序中有一个提示,它会在计划闹钟前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中设置时触发警报。

1 个答案:

答案 0 :(得分:0)

Calendar.HOUR_OF_DAY接受24小时甲酸盐所以你应该将12小时甲酸盐改为24小时甲酸盐,然后再将其转移至日历。

 calendar.set(Calendar.HOUR_OF_DAY, hoursForDayin24hourFormate);