设置特定工作日的闹钟。但是每天闹钟响起

问题描述:

我正在使用此代码广播特定日期的闹钟。但它每天都在响。谁可以帮我这个事?设置特定工作日的闹钟。但是每天闹钟响起

calendar.set(Calendar.HOUR_OF_DAY, hours); 
calendar.set(Calendar.MINUTE, minute); 
calendar.set(Calendar.SECOND, 0); 
calendar.set(Calendar.DAY_OF_WEEK, weekdayList.get(x)); 
Intent myIntent = new Intent(getApplicationContext(), AlarmReceiver.class); 
myIntent.putExtra("reminder_id",value+""); 
myIntent.putExtra("reminder_title", title.getText().toString()); 

pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), value1, myIntent, PendingIntent.FLAG_CANCEL_CURRENT); 


// alarmManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent); 
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, 
      calendar.getTimeInMillis(), 1000 * 60 * 60, pendingIntent); 
+1

请显示所有变量的类型。更好的是,使其成为[最小,完整和可验证的示例。](http://*.com/help/mcve)。 –

+0

我需要针对我的一个应用程序解决这样的问题;一个答案会很有帮助 – Eenvincible

+0

我在这里得到了一个解决方案。它为我工作。我必须使用sqlite数据库。 http://*.com/questions/14272295/how-can-i-get-the-repeat-alarm-for-week-days-using-alarm-manager –

如果您想安排它只有一次:

alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 

如果你想每周重复一遍:

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, 
     calendar.getTimeInMillis(), alarmManager.INTERVAL_DAY * 7, pendingIntent); 

记住你设置日历变量时采取谨慎。据DOCS:

对于集()

如果规定的触发时间是在过去,报警器会立即触发 。如果此意图预定为 (其中两个意图的相等性由 filterEquals(意图)定义)已经有一个警报,那么它将被删除并替换为此 之一。

对于setRepeating()

如果规定的触发时间过去,报警器会立即根据触发时间是怎么过去远触发,与报警计数相对于重复间隔。

+0

在这里得到了一个解决方案。谢谢任何方式:) http://*.com/questions/14272295/how-can-i-get-the-repeat-alarm-for-week-days-using-alarm-manager –