2011-08-25 6 views
1

나는 HTML에서 날짜의 명부를 되찾고있다.날짜 목록을 파싱하여 AlarmManager로 설정하는 방법은 무엇입니까?

목록은 검색 될 때 목록으로 설정됩니다.

AlarmManager의 날짜를 구문 분석하고 설정하기 위해 SimpleDate Parser (사용법은 알고 있습니다)를 사용하고 싶습니다.

하나 이상의 날짜입니다. 어떻게이 방법을 만들 수 있습니까? 각 날짜에 대한 경보를 작성하려면.

처음으로 날짜 목록을로드 할 때마다 날짜를 구문 분석하고 각각에 대해 경고를 설정하고 싶습니다.

그리고 하루에 하나 이상의 경보가 발생하면 어떻게 결합 할 수 있습니까?

답변

1

날짜가 들어있는 List 개체의 크기를 포함하도록 알람을 설정할 수 있습니다.

은 이제이를 구문 분석하여 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); 
} 
+0

이이 경보를 덮어 쓸 것인가 :

예를 들어,이 같은 RequestID가의 PARAM을 변경해야합니까? 그리고 난 ArrayList btw를 사용하고 있습니다. 그들이 내가하는 일에 대해 당신에게 더 좋은 아이디어를 줄 수 있다면. – yoshi24

+0

아니요. getBroadcast에서 두 번째 매개 변수가 요청 코드이므로 다른 요청 코드로 동일한 의도를 전달하면 같은 순간에 다른 알람을 설정할 수 있습니다. – Pratik

+0

그래서 요청 코드를 매번 어떻게 변경합니까? – yoshi24

1

처럼 수행에 대한 루프 텐트에 대한 동일한 개체, PendingIntent 알람 관리기

를 사용하는 것이 가능하고 지원합니다. 그러나 안드로이드가 오래된 알람을 "덮어 쓰지"않도록 알람을 구분해야합니다. 두 가지 알람이 동일한 의도 매개 변수 및 추가 기능을 사용하면 새 매개 변수가 기존 매개 변수를 덮어 씁니다.

 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); 
관련 문제