2014-12-14 7 views
1

나는 작업 관리자로 작동하는 앱을 가지고 있습니다 .. 사용자가 작업을 추가하고 앱이 입력 한 시간에 그에게 알립니다. 하나의 작업 만 추가하면 올바르게 작동합니다. 하지만 두 작업을 추가 할 때 첫 번째 작업은 알림을 보내지 않고 두 번째 작업은 첫 번째 작업의 데이터로 알립니다. 예제 .. Task1이라는 제목과 Desc1의 설명이있는 첫 번째 작업을 추가합니다. 11:05 , 그리고 Task2의 제목과 Desc2의 설명이 추가 된 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 방법은이 통지시 종료 알람을 시작하고 알림이 표시됩니다 .. 호출 할 필요가

..

하지만 지금은 단지 마지막 작업이 표시됩니다 .. 왜 그런가요? : AlarmManager.set에 대한 안드로이드 문서에서

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

답변

2

:

S

덕분에

편집

:) 나는이 대답을 수행하여 고정

... 이미 알람이있는 경우 s 같은 IntentSender에 예약 된 경우 이전에 알림이 취소됩니다. ...

알람을 하나만 설정할 수 있고 여러 알람에 대한 대안을 만들어야하는 것처럼 보입니다. 다음 알람을 설정하기 위해 모든 X라고하는 서비스를 설정합니다.