我從HTML中檢索日期列表。如何解析日期列表並將其設置爲AlarmManager?
當列表被檢索時,該列表被設置爲列表。
我想使用SimpleDate解析器(我知道該怎麼做)來解析和設置AlarmManager的日期。
由於它是多個日期。我怎麼能爲此創建一個方法?爲每個日期創建一個鬧鐘。
首次加載日期列表時,我希望它解析日期併爲每個日期設置一個警報。
如果一天有多個報警,我怎麼能把它們合併爲一個呢?
我從HTML中檢索日期列表。如何解析日期列表並將其設置爲AlarmManager?
當列表被檢索時,該列表被設置爲列表。
我想使用SimpleDate解析器(我知道該怎麼做)來解析和設置AlarmManager的日期。
由於它是多個日期。我怎麼能爲此創建一個方法?爲每個日期創建一個鬧鐘。
首次加載日期列表時,我希望它解析日期併爲每個日期設置一個警報。
如果一天有多個報警,我怎麼能把它們合併爲一個呢?
當您包含包含日期的List對象的大小時,可以設置鬧鐘。
現在解析它並設置在任何循環中的待處理對象的報警中,如for循環。
只是使用的意圖同一個對象,的PendingIntent AlarmManager
在for循環不喜歡這種方式
Calendar setAlarm=Calendar.getInstance();
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
for(int i=0;i<listDate.size();i++){
Intent intent=new Intent(getApplicationContext(),"YOUR BROADCAST CLASS");
PendingIntent sender = PendingIntent.getBroadcast(this,i, intent, PendingIntent.FLAG_ONE_SHOT);
/// if you parse date direct then here pass
setAlarm.setTime(sdf.parse(listDate.get(0));
am.set(AlarmManager.RTC_WAKEUP, setAlarm.getTimeInMillis(), sender);
}
設置每個報警,有可能和支持。 但是,請注意,您必須以這種方式區分鬧鐘,以便Android不會「覆蓋」舊鬧鐘。 事情是,如果2個報警使用相同的意圖參數和額外的新的將覆蓋舊的。
例如,你應該改變的RequestID PARAM這樣的:
Intent intent = new Intent(context, Alarm.class);
intent.putExtra("id", String.valueOf(**uniqueRequestId**));
sender = PendingIntent.getBroadcast(context, **uniqueRequestId**, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, time, sender);
這是否會覆蓋報警?我正在使用ArrayList btw。如果他們能讓你更好地瞭解我在做什麼。 – yoshi24
沒有,因爲在getBroadcast中,第二個參數是請求代碼,所以如果您將不同的請求代碼傳遞給同一個intent,那麼您可以設置不同的鬧鐘,同一個時間 – Pratik
那麼我將如何每次更改請求代碼? – yoshi24