|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Всем привет! Например задача каждые 5 минут выполнять определенное действие. Как правильно это организовать, через таймер и таск или через handler.postDelayed? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 01:27 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Через AlarmManager . ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 09:14 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
wadmanЧерез AlarmManager . Тут спасибо, это лучше. Но не понятно как он работает, вижу что в службе срабатывает onCreate, при этом происходит следующий запуск службы и не срабатывают onDestroy, onUnBind, onReBind. Служба в приложении только одна, т.е. не создаются новые экземпляры... Объясните пожалуйста. Я только начинаю изучать андройд студию вместе с джавой, сильно тапки не кидать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 15:25 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Какая-то непонятка происходит. В ресивере при загрузке девайса через setRepeat задал время 60 * 60 * 1000, т.е. каждый час, а срабатывает как попало... Такое впечатление что система запомнила прошлые тестовые запуски и они тоже отрабатывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2016, 19:28 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
А, все, кажется понял ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2016, 19:48 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Меня этот вопрос тоже интересовал. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 09:49 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Использую AlarmManager для ежедневных напоминаний. Как корректно установить другое время срабатывания? Я делаю типа вот так Код: java 1. 2. 3.
При этом 10 - должно совпадать со значением, с которым производилась установка времени ранее значением и AlarmReceiver.class Код: java 1. 2. 3. 4. 5.
Все ли я правильно делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 14:56 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinВсе ли я правильно делаю? Навскидку - да. Вопрос праздный или какие-то проблемы есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 15:39 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
wadmanDmitry SukhovilinВсе ли я правильно делаю? Навскидку - да. Вопрос праздный или какие-то проблемы есть? В базе планирую дерзать список таймеров. Т.е. их будет более одного. Опасаюсь рассинхронизации списка в безе (ее можно удалить же) и уже запущенных таймеров. В случае удаления базы таймеры совсем нельзя будет выключить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 13:08 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Т.е. в случае изменения записей в безе/форме хотелось бы отрубить ВСЕ запущенные таймеры, и потом пересоздать из используя актуальные данные из базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 13:10 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
А я поигрался и все равно не понял почему срабатывание происходит иногда норм, а иногда не в свое время. Вот такое было Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
И это единственное место в проекте с алармменеджером ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 13:18 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
игрался с: авторELAPSED_REALTIME ELAPSED_REALTIME_WAKEUP и авторsetInexactRepeating ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 13:21 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Imperous, Думаю TZ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 13:22 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinImperous, Думаю TZ чего-чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 13:23 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinImperous, Думаю TZ Ан, нет, getTimeInMillis() возвращает время в UTC. Все верно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 13:25 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
ImperousА я поигрался и все равно не понял почему срабатывание происходит иногда норм, а иногда не в свое время. Вот такое было Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
И это единственное место в проекте с алармменеджером Вот что то мне кажется, что устанавливать время в прошлое это не сильно хорошо. К моменту запуска аларма миллисекунды, полученные с календаря будут уже в прошлом. Хотя, может и не в этом дело. Расхождение во времени запуска значительные? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 14:08 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinВ базе планирую дерзать список таймеров. Т.е. их будет более одного. Опасаюсь рассинхронизации списка в безе (ее можно удалить же) и уже запущенных таймеров. В случае удаления базы таймеры совсем нельзя будет выключить. Можешь сделать все через один таймер, который по выполнению своей задачи выставляет следующий. И так любое количество раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 14:23 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
wadmanDmitry SukhovilinВ базе планирую дерзать список таймеров. Т.е. их будет более одного. Опасаюсь рассинхронизации списка в безе (ее можно удалить же) и уже запущенных таймеров. В случае удаления базы таймеры совсем нельзя будет выключить. Можешь сделать все через один таймер, который по выполнению своей задачи выставляет следующий. И так любое количество раз. Думал в эту сторону. Есть очень большой минус - придется дергать базу из места, из которого дергать ее не предполагалось. Т.е. бродкаст ресивер будет сам в базу ходить, как то не айс. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 14:30 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinТ.е. бродкаст ресивер будет сам в базу ходить, как то не айс. Странные комплексы, но в базу могут все: ресиверы, сервисы, приложения, виджеты и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 14:31 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
wadmanDmitry SukhovilinТ.е. бродкаст ресивер будет сам в базу ходить, как то не айс. Странные комплексы, но в базу могут все: ресиверы, сервисы, приложения, виджеты и т.п. Физически могут. Но логически не хотелось бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 14:34 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Dmitry Sukhovilinwadmanпропущено... Странные комплексы, но в базу могут все: ресиверы, сервисы, приложения, виджеты и т.п. Физически могут. Но логически не хотелось бы. Сделай только сервис, который может общаться с базой напрямую, а остальные работают с сервисом через интенты. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 14:48 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinВот что то мне кажется, что устанавливать время в прошлое это не сильно хорошо. К моменту запуска аларма миллисекунды, полученные с календаря будут уже в прошлом. Хотя, может и не в этом дело. Расхождение во времени запуска значительные? да, даже могло быть и минуту 2 раза, могло быть и 3 раза в час, а было и тютелька в тютельку... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 15:23 |
|
Правильное выполнение задачи через определенное время
|
|||
---|---|---|---|
#18+
ImperousDmitry SukhovilinВот что то мне кажется, что устанавливать время в прошлое это не сильно хорошо. К моменту запуска аларма миллисекунды, полученные с календаря будут уже в прошлом. Хотя, может и не в этом дело. Расхождение во времени запуска значительные? да, даже могло быть и минуту 2 раза, могло быть и 3 раза в час, а было и тютелька в тютельку... особенно ерунда была в первый час запуска девайса. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 15:24 |
|
|
start [/forum/topic.php?fid=13&msg=39151516&tid=1331193]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 253ms |
total: | 423ms |
0 / 0 |