我正在使用android上的闹钟应用程序。我确实制作了标准的一次性警报,并且我在特定时间每天重复。我搜索过每一个问题,但我没有看到任何关于此问题。
我希望每个特定的日子都像“每个星期五晚上10点”那样做。但我看到有趣的事情,它在4月之间的3月份没有正常工作。
这个代码块永远都可以正常工作。
if(everyday)
{
calSet.set(Calendar.HOUR_OF_DAY, hour);
calSet.set(Calendar.MINUTE, minute);
calSet.set(Calendar.SECOND,0);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calSet.getTimeInMillis(),AlarmManager.INTERVAL_DAY, pi);
tAlrm.setText(calSet.getTime()+"\n");
}
我在每个星期五使用以下代码。
该代码工作得很好,但它有一些有趣的问题。 (意思是今天27/02/14 thursday-feb 15:20) 我每个星期五都在准备。第一个闹钟日是28.02.14,所以明天它每个星期五都能完美运作。这就像在三月看起来完美无缺。但是当日期到了四月时它再也不起作用了。它在4月的任何一个小时都在星期六工作。我不明白例如它在2015年的每个星期五工作。如果我解决了问题,那么我将在每个特定的日子(每个星期日,每个星期一......)做。
或者,如果您对此有任何想法,我想听听。对不起我的英语。
if(friday){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND,0);
Long interval = calendar.getTimeInMillis();
PendingIntent pi2 = PendingIntent.getBroadcast(this, 2, intent,0);
AlarmManager alarmManager2 = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager2.setRepeating(AlarmManager.RTC_WAKEUP,interval,AlarmManager.INTERVAL_DAY*7, pi2);
tAlrm.setText(calendar.getTime()+"pzts\n");
}