Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AlarmManager:除非我手动更改日期,否则不会触发报警_Android_Android Intent_Alarmmanager - Fatal编程技术网

Android AlarmManager:除非我手动更改日期,否则不会触发报警

Android AlarmManager:除非我手动更改日期,否则不会触发报警,android,android-intent,alarmmanager,Android,Android Intent,Alarmmanager,我有一个闹钟,应该每天早上12点运行(它不是一个重复的闹钟,我每次需要cz时都会设置它,在某些情况下我不想让它运行) 奇怪的是,如果我手动将日期/时间更改为第二天的凌晨12点,就会触发警报。但是,如果我将时间设置为今天晚上11:59,一直等到凌晨12点,什么也没有发生,如果时间/日期是自动设置的,那么它也不会在凌晨12点开火。你知道为什么会这样吗?或者我该怎么解决?谢谢您的代码中有一些错误,请看一看我在完美之前使用的代码,它将改进您的代码。在我的情况下,我正在重新启动服务类内部的警报(上面的代码

我有一个闹钟,应该每天早上12点运行(它不是一个重复的闹钟,我每次需要cz时都会设置它,在某些情况下我不想让它运行)


奇怪的是,如果我手动将日期/时间更改为第二天的凌晨12点,就会触发警报。但是,如果我将时间设置为今天晚上11:59,一直等到凌晨12点,什么也没有发生,如果时间/日期是自动设置的,那么它也不会在凌晨12点开火。你知道为什么会这样吗?或者我该怎么解决?谢谢

您的代码中有一些错误,请看一看我在完美之前使用的代码,它将改进您的代码。

在我的情况下,我正在重新启动服务类内部的警报(上面的代码)。这会导致这种不良行为吗@奥马尔Johari@user1433460在这种情况下,你可以使用timerlook,它是否与你的问题有关???有一种方法可以选择一个你觉得对你更好的方法:1-2-我为你感到高兴,但就像你认为你的解决方案和问题与你的问题相去甚远。所以下次在你提问之前一定要小心:)
Intent myIntent = new Intent(AlarmService.this, AlarmService.class);
pendingIntent = PendingIntent.getService(this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 12);
cal.set(Calendar.AM_PM, Calendar.AM);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.add(Calendar.DAY_OF_MONTH, 1);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);