Я разрабатываю одно приложение оповещения, в котором я использую концепцию диспетчера аварийных сигналов, в которой пользователь может выбрать нет. за несколько дней до того, как пришло предупреждение (например, если он выберет 5 дней, предупреждение придет до 5 дней), сравнение списка дней происходит из базы данных sqlite. 3 вместо 5) до установки (5 дней) будильники не ясны всего пришло 8 будильников (5+3) пожалуйста, кто-нибудь решит мою проблему.
dbcal.set(currentcal.get(Calendar.YEAR), mnth,dt);
Log.e("dbCal Alarm","first"+dbcal.getTime());
if(!dbcal.getTime().before(currentcal.getTime())){
uniqueno++;
alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(SampledateActivity.this,AlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(SampledateActivity.this, uniqueno, intent, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, dbcal.getTimeInMillis(), pi);
}
for(int k = 1 ; k <= time ;k++){
Log.e("Entered to alarm","yes");
dbcal.add(Calendar.HOUR, -24);
if(!dbcal.getTime().before(currentcal.getTime())){
uniqueno++;
Intent intentlocal = new Intent(SampledateActivity.this,AlarmReceiver.class);
PendingIntent pilocal = PendingIntent.getBroadcast(SampledateActivity.this, uniqueno, intentlocal, 0);
alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, dbcal.getTimeInMillis(), pilocal);
Log.e("dbCal Alarm","k: "+"k value:"+k+(time*i+k)+":"+dbcal.getTime());
}
}