2012-09-27 121 views
0

我想在星期一設置鬧鐘,但沒有正常工作,所以如何在星期一設置鬧鐘一次。如何在android中使用鬧鐘管理器設置星期一鬧鐘?

if (chk_wednesday.isChecked()) { 
         weekday = 7 - calNow.get(Calendar.DAY_OF_WEEK); 
         calSet.add(Calendar.DATE, weekday); 
         forday(weekday); 
         } 


public void forday(int week) { 

       days = calNow.get(Calendar.DAY_OF_MONTH); 
       month = calNow.get(Calendar.MONTH); 
       year = calNow.get(Calendar.YEAR); 

     calSet.set(Calendar.DAY_OF_WEEK, week); 
     calSet.set(Calendar.HOUR_OF_DAY, hour); 
     calSet.set(Calendar.MINUTE, minuts); 
     calSet.set(Calendar.SECOND, 0); 
     calSet.set(Calendar.MILLISECOND, 0); 

     calSet.set(Calendar.DAY_OF_MONTH, days); 
     calSet.set(Calendar.MONTH, month); 
     calSet.set(Calendar.YEAR, year); 

     if (calSet.compareTo(calNow) <= 0) { 
      // Today Set time passed, count to tomorrow 
      calSet.add(Calendar.DATE, 1); 
     } 
     Log.i("time1", "" + calSet.getTimeInMillis()); 
     alarmManager.set(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(), 
       pendingIntent); 
    } 

提前

回答

1

任何一個可以幫助me.Thanks我會做這樣的,在那裏day_of_weekhourminute定義要發生報警的日期和時間。您將calSet設置爲本週的適當時間。然後,如果這一週已經過去了,那麼您需要添加一週,以便將其設置爲下週的適當時間。

calNow = Calendar.getInstance(); 

calSet = Calendar.getInstance(); 
calSet.set(Calendar.DAY_OF_WEEK, day_of_week); 
calSet.set(Calendar.HOUR_OF_DAY, hour); 
calSet.set(Calendar.MINUTE, minute); 
calSet.set(Calendar.SECOND, 0); 
calSet.set(Calendar.MILLISECOND, 0); 

if (calSet.before(calNow)) { 
    nextAlarm.add(Calendar.WEEK_OF_YEAR, 1); 
} 
+0

謝謝,但星期四的哪一天? – ckpatel

+0

星期四哪個值在day_of_week中傳遞? – ckpatel

+0

週四將是5.您可以通過單擊每週的每一天來查看所有值[此處](http://developer.android.com/reference/java/util/Calendar.html#DAY_OF_WEEK)。 – UgglyNoodle