2013-03-19 2 views
1

Таким образом, у меня есть будильник, установленный в базе данных, из которой извлекается мое приложение, однако я хочу иметь возможность установить дату истечения срока действия этих аварийных сигналов (там для лечения). Как мне это сделать?По истечении срока действия на тревогу

Вот мой код для сигнализации:

private void calMeds(int medication1, String time1) { 

    String string = time1; 
    String[] parts = string.split(":"); 
    String part1 = parts[0]; 
    String part2 = parts[1]; 
    Log.e("DATABASE", "Hours: " + part1); 
    Log.e("DATABASE", "Minutes: " + part2); 

    hourCorrect = Integer.parseInt(part1); 
    minuteCorrect = Integer.parseInt(part2); 

    Date date = new Date(); 
    Calendar cal_Alarm = Calendar.getInstance(); 
    Calendar cal_Now = Calendar.getInstance(); 
    cal_Now.setTime(date); 

    cal_Alarm.setTime(date); 
    cal_Alarm.set(Calendar.HOUR_OF_DAY, hourCorrect); 
    cal_Alarm.set(Calendar.MINUTE, minuteCorrect); 
    cal_Alarm.set(Calendar.SECOND, 3); 

    if (cal_Alarm.before(cal_Now)) { 
     cal_Alarm.add(Calendar.DATE, 1); 

    } 

    alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
    String ALARM_ACTION; 

Если у меня есть тревога поднятием каждый день в 9:00 и его срок годности является 21 марта, как я остановить его тревожить после этого Дата? Время вводится в базу данных, и каждый из них имеет другую дату истечения срока действия.

ответ

0

На основании вашего пересмотра:

Calendar now = Calendar.getInstance(); 
    Calendar then = Calendar.getInstance(); 
    then.set(Calendar.MONTH, month); 
    then.set(Calendar.DAY_OF_MONTH, day); 
    then.set(Calendar.HOUR, hour); 
    then.set(Calendar.MINUTE, minute); 

    long dif = then.getTimeInMillis() - now.getTimeInMillis(); 

    ActionListener action = new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     if(!alarm.isStopped()) 
      alarm.stop(); 
    } 
    }; 

    Timer timer = new Timer((int)dif, action); 
    timer.start(); 
+0

Я думаю, вопрос непонят, я его отредактирую .. – una

0

использовать планировщик для планирования истечения вашей охранной сигнализации

Пример: - (Предположим, что вы хотите выйти из вашей программы через 30 минут)

java.util.Timer timer = new java.util.Timer(); 
    timer.schedule(new TimerTask() { 

         @Override 
         public void run() { 
          System.exit(0); 
         } 
        }, 30 * 60 * 1000); 
       } 
Смежные вопросы