Проблема менеджера тревоги во временном времени

StackOverflow https://stackoverflow.com/questions/4759270

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top