Проблема менеджера тревоги во временном времени
-
16-10-2019 - |
Вопрос
Я хочу установить будильник в определенную дату и время. Я получу дату и время с веб -сервисом. Я проанализировал и разделил дату и время и использовал 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();
Пожалуйста, помогите заранее спасибо
Решение
Время, когда вы должны передать Тревога.set это long
а также getDate
(который устарел) возвращает Int.
Попробуйте с getTime()
Другие советы
Время использования Alardmanager в Millesecond Unit в часовом поясе UTC ... так что анализ времени должен учитывать часовой застрой
Таким образом, после нового экземпляра SimpleDateFormat вы можете установить часовой пояс UTC
пример :
SimpleDateFormat SDF = new SimpleDateFormat ("HH: MM: SS DD/MM/yyyy"); sdf.settimezone (timezone.gettimezone ("utc"));
Тогда ваш анализ будет в порядке и совместимы для службы Alarmmanager.