2014-02-14 3 views
0

사용자가 요일을 선택하고 해당 요일의 특정 시간에 알람을 시작할 수 있도록하는 프로그램을 만들고 있습니다.매주 특정 요일에 알람이 발생합니다.

내가 12:30 문제에서 매주 금요일을 발사 내 알람 그것은 경보를 발생하지 단지 결코 원하는 예를 들어 내 문제를 취할 수 있습니다 내가 같은 날에있어 비록 여기 내 코드

cals = Calendar.getInstance(); 
    int days = Calendar.FRIDAY + (7 - cals.get(Calendar.DAY_OF_WEEK)); // how many days until Sunday 
     cals.add(Calendar.DATE, days); 
    cals.set(Calendar.DAY_OF_WEEK,6);       
    cals.set(Calendar.HOUR_OF_DAY, 12); 
    cals.set(Calendar.MINUTE, 30); 
    cals.set(Calendar.SECOND, 0); 
    cals.set(Calendar.MILLISECOND, 0); 
    alarm.SetAlarm(getApplicationContext(), 10,"Start", cals.getTimeInMillis()); 



public void SetAlarm(Context context,int id,String sor,long time) 
    { 
     AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
     if(sor.equals("Start")) 
     { 
      Intent i = new Intent(context, MyAppReceiver.class); 
      PendingIntent p = PendingIntent.getBroadcast(context, 0, i, 0);   
      am.setRepeating(AlarmManager.RTC_WAKEUP, time, DateUtils.DAY_IN_MILLIS, p);   
     } 
} 
입니다
+0

'캘린더 '요일이 올바르게 설정되었는지 확인하십시오. – ramaral

+0

지금 확인하고 올바르게 설정했습니다. – user1928775

+0

도움이 될지 모르지만 최근에 알람 및 요일 문제가 있습니다. http://stackoverflow.com/questions/20204284/is-it-possible-to-create-multiple -pendingintents-with-same-requestcode-and- – Snailer

답변

1

MyAppReceiver을 AndroidManifest.xml에 BroadcastReceiver로 등록하셨습니까?

+0

예, 방금 "cals"라는 동일한 변수로 설정된 모든 요일을 알았습니까? 내가 그걸 피할 ​​수있는 방법이 있니? – user1928775

+1

여기에 cals를 사용하여 모든 것을 설정하는 데 문제가 없습니다 ... 게시 한 코드를 시도한 결과 아무 문제가 없었습니다 (AndroidManifest.xml에 broadcastreceiver가 설정된 경우). 'cals.add' Calendar.DATE, days); ' 어떤 점이 다음 주를 가리 킵습니까 – cania

+0

문제는 고마워요 : D – user1928775

관련 문제