2011-01-21 2 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.set является long и getDate (который deprecated) возвращает Int.

Попробуйте с getTime()

+0

По-прежнему это тост по умолчанию не для моего разбора – kanchan

+0

Попробуйте поменять время '' '' 'и' date' как 'date date' вместо' time date' – ccheneson

+0

Поскольку вы сами разбираете дату, и у вас есть получили разные части даты и времени, вы можете использовать «Календарь» и использовать метод «set» с временными частями даты. Затем вы можете вызвать 'getTimeInMillis' и передать результат в диспетчер аварийных сигналов - Подробнее на http://developer.android.com/reference/java/util/Calendar.html – ccheneson

0

AlarmManager время использования в millesecond единицу в часовом поясе UTC ... Так что время синтаксического анализа должны принять во внимание часовой пояс

Таким образом, после SimpleDateFormat нового экземпляра вы можете установить часовой пояс UTC

пример:

SimpleDateFormat SDF = новый SimpleDateFormat ("HH: мм: сс дд/мм/гггг"); sdf.setTimeZone (TimeZone.getTimeZone («UTC»));

тогда ваш синтаксический анализ будет одобрен и совместим для службы AlarmManager.

Смежные вопросы