2014-12-14 2 views
1

У меня есть приложение, которое работает диспетчером задач. Пользователь добавляет задания, и приложение уведомляет его/нее в момент его ввода. Это отлично работает, когда я добавляю только одну задачу. Но когда я добавляю две задачи, первая не уведомляет, а вторая уведомляет данные первого. Пример .. Я добавляю первую задачу с названием Task1 и описанием Desc1 On 11:05 , И я добавляю вторую задачу с названием Task2 и описанием Desc2 On 11:07 .. В 11:05 ничего не происходит .. Но 11:07 я получаю уведомление с заголовком Task1 и описанием Desc1 .. I имеют специальный класс для задачи ..Нажатие уведомления в определенное время

public class Task { 

String name,desc; 
Date date; 
Context context; 

public Task(String name, String desc, Date date, Context context) { 
    this.name = name; 
    this.desc = desc; 
    this.date = date; 
    this.context = context; 

    startAlarm(date.getTime(), name, desc); 
} 

public String toString() { 
    return name + " : " + desc + " at " + date; 
} 

public void startAlarm(long when, String title, String descreption) { 
    AlarmManager alarmManager = (AlarmManager) context 
      .getSystemService(MainActivity.ALARM_SERVICE); 

    Intent intent = new Intent(context, BGService.class); 
    intent.putExtra("title", title); 
    intent.putExtra("descreption", descreption); 

    PendingIntent pendIntent = PendingIntent.getService(context, 
      0, intent, 0); 
    alarmManager.set(AlarmManager.RTC, when, pendIntent); 
} 
//// Getters And Setters Here .... 

}

метод startAlarm должен вызываться всякий раз создать новую задачу .. Она запускает тревогу, которая заканчивается в момент уведомления и уведомление отображается ..

Но теперь только последняя задача показана .. Почему это ? : S

Спасибо :)

EDIT

Я установил его, следуя этот ответ:

How to set more than one alarms at a time in android?

ответ

2

С Android Документах для AlarmManager.set:

... Если уже есть будильник s назначенный для того же IntentSender, что предыдущий аварийный сигнал будет сначала отменен ...

Похоже, вы можете установить только один сигнал тревоги и создать временные решения для нескольких сигналов тревоги, например. настраивая службу, которая называется каждым X, чтобы установить следующий сигнал.

Смежные вопросы