2012-04-07 2 views
1

Извините, если вопрос немного вводит в заблуждение.Как установить время выбора в объекте календаря?

Я задал еще один вопрос раньше и с его помощью я получил это далеко. Вот проблема.

Я должен запустить службу в определенное время. Теперь ... служба запускается, если я запускаю ее мгновенно, используя текущее время из объекта Calendar, но когда я устанавливаю время вручную, служба не запускается. Вот код:

Calendar myCal = Calendar.getInstance(); 
    myCal.set(Calendar.HOUR_OF_DAY, 21); 
    myCal.set(Calendar.MINUTE, 4); 

    // Will use putExtras here to give service the details of which profile to activate 
    Intent intent = new Intent(Create.this, AutoBot.class); 
    PendingIntent pintent = PendingIntent.getService(Create.this, 0, intent, 0); 
    AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
    alarm.setRepeating(AlarmManager.RTC_WAKEUP, myCal.getTimeInMillis(), 5*1000, pintent); 

Теперь это должно технически работать, но его нет. И именно поэтому мне нужна ваша помощь :(

Кроме того, если у меня есть несколько триггеров (тревоги по себе), что бы третий аргумент setRepeating быть?

ответ

0

Я думаю, вам нужно установить день месяца год. Дата в миллисе с 1 января 1970 г.

+0

Но я инициализирую объект Calendar с текущей датой/временем. Зачем мне это менять? И можете ли вы любезно объяснить, что мне нужно включить в Calendar.DATE/YEAR? – Asim

0

Я думаю, эта ссылка может ответить на ваш вопрос. Это объясняет, что существует ограничение в системе, в которой блокировка будильника диспетчера тревог будет выпущена слишком рано, когда . Предоставление услуг. См. Обсуждение: http://groups.google.com/group/android-developers/browse_thread/thread/2b98206d18a0192f/

Надеюсь, это поможет.

+0

Код работает нормально, если я использую текущее текущее время (используя Calendar.getInstance, а затем используя этот Календарь для получения текущего времени). Однако, когда я создаю другой календарь и пытаюсь установить его время вручную, код отказывается работать. – Asim

+0

Как пояснил разработчик Android в опубликованном выше сообщении, механизм использования диспетчера аварийных сигналов для запуска службы не является надежным. Сообщение объясняет более надежный способ этого. –

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

  • Нет связанных вопросов^_^