簡體   English   中英

在特定時間推送通知

[英]Pushing a Notification at specific time

我有一個充當任務管理器的應用程序。用戶添加任務,並且該應用程序在他輸入時通知他/她。當我僅添加一個任務時,效果很好。但是當我添加兩個任務時,第一個一個不通知,第二個通知第一個任務的數據。示例..我在11:05添加第一個任務,其標題為Task1和Desc1的描述,然后添加第二個任務,標題為Task2和Desc2的描述在11:07 ..在11:05沒有發生..但是在11:07,我收到了Task1的標題和描述Desc1的通知。

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 .... 

}

每當我創建新Task時,都應調用startAlarm方法。它將啟動一個警報,該警報在通知時終止,並顯示通知。

但是現在只顯示了最后一個任務。為什么? :S

謝謝 :)

編輯

我通過以下答案解決了它:

如何在Android中一次設置多個警報?

從AlarmManager.set的Android文檔中:

...如果已經為同一IntentSender安排了警報,則該先前的警報將首先被取消...

似乎您只能設置一個警報,並且需要為多個警報創建變通辦法,例如,設置一個名為X的服務來設置下一個警報。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM