2011-01-21 54 views
0

我想在特定日期和時間設置鬧鐘。 IAM得到我的日期和時間與webservice.i已解析並拆分日期和時間,並使用SimpleDateFormat,現在我想把這個日期和時間[alarmManager.set(AlarmManager.RTC_WAKEUP,dt,pendingIntent);]但我的報警不列入在給定的時間時間設置中的鬧鐘管理器問題

 String str_date= hr+":"+min+":"+sec+" "+dat+"/"+mon+"/"+year; 
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss dd/MM/yyyy"); 
    ParsePosition position = new ParsePosition(0); 

    java.util.Date stringToDate = sdf.parse(str_date, position); 
    dt = stringToDate.getDate(); 

工作請幫助 在此先感謝

回答

0

的時間,你應該傳遞給Alarm.setlonggetDate(這是deprecated)返回一個int。

getTime()

+0

它仍然在默認的時間內烤麪包,而不是我的解析時間 – kanchan

+0

嘗試交換'時間'和'日期'像'日期時間'而不是'時間日期' – ccheneson

+0

由於你自己解析日期,你有得到了日期和時間的不同部分,你可以使用'Calendar'並且使用具有日期時間部分的'set'方法。然後,您可以調用'getTimeInMillis'並將結果傳遞給鬧鐘管理器 - 更多信息,請參見http://developer.android.com/reference/java/util/Calendar.html – ccheneson

0

AlarmManager使用時間嘗試在UTC時區millesecond單位... 所以時間解析不得不採取時區考慮

所以經過SimpleDateFormat的新實例,您可以設置UTC時區

例如:

SimpleDateFormat的SDF =新的SimpleDateFormat( 「HH:MM:SS DD/MM/YYYY」); sdf.setTimeZone(TimeZone.getTimeZone(「UTC」));

然後您的解析將會正常並且與AlarmManager服務兼容。

相關問題