|
|
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Всем привет! Например задача каждые 5 минут выполнять определенное действие. Как правильно это организовать, через таймер и таск или через handler.postDelayed? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 01:27:49 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Через AlarmManager . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 09:14:33 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
wadmanЧерез AlarmManager . Тут спасибо, это лучше. Но не понятно как он работает, вижу что в службе срабатывает onCreate, при этом происходит следующий запуск службы и не срабатывают onDestroy, onUnBind, onReBind. Служба в приложении только одна, т.е. не создаются новые экземпляры... Объясните пожалуйста. Я только начинаю изучать андройд студию вместе с джавой, сильно тапки не кидать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 15:25:23 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Какая-то непонятка происходит. В ресивере при загрузке девайса через setRepeat задал время 60 * 60 * 1000, т.е. каждый час, а срабатывает как попало... Такое впечатление что система запомнила прошлые тестовые запуски и они тоже отрабатывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 19:28:37 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
А, все, кажется понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 19:48:19 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Меня этот вопрос тоже интересовал. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 09:49:03 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Использую AlarmManager для ежедневных напоминаний. Как корректно установить другое время срабатывания? Я делаю типа вот так Код: java 1. 2. 3. При этом 10 - должно совпадать со значением, с которым производилась установка времени ранее значением и AlarmReceiver.class Код: java 1. 2. 3. 4. 5. Все ли я правильно делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 14:56:12 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Dmitry SukhovilinВсе ли я правильно делаю? Навскидку - да. Вопрос праздный или какие-то проблемы есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 15:39:24 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
wadmanDmitry SukhovilinВсе ли я правильно делаю? Навскидку - да. Вопрос праздный или какие-то проблемы есть? В базе планирую дерзать список таймеров. Т.е. их будет более одного. Опасаюсь рассинхронизации списка в безе (ее можно удалить же) и уже запущенных таймеров. В случае удаления базы таймеры совсем нельзя будет выключить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 13:08:18 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Т.е. в случае изменения записей в безе/форме хотелось бы отрубить ВСЕ запущенные таймеры, и потом пересоздать из используя актуальные данные из базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 13:10:43 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
А я поигрался и все равно не понял почему срабатывание происходит иногда норм, а иногда не в свое время. Вот такое было Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. И это единственное место в проекте с алармменеджером ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 13:18:58 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
игрался с: авторELAPSED_REALTIME ELAPSED_REALTIME_WAKEUP и авторsetInexactRepeating ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 13:21:58 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Imperous, Думаю TZ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 13:22:15 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Dmitry SukhovilinImperous, Думаю TZ чего-чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 13:23:50 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Dmitry SukhovilinImperous, Думаю TZ Ан, нет, getTimeInMillis() возвращает время в UTC. Все верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 13:25:14 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
ImperousА я поигрался и все равно не понял почему срабатывание происходит иногда норм, а иногда не в свое время. Вот такое было Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. И это единственное место в проекте с алармменеджером Вот что то мне кажется, что устанавливать время в прошлое это не сильно хорошо. К моменту запуска аларма миллисекунды, полученные с календаря будут уже в прошлом. Хотя, может и не в этом дело. Расхождение во времени запуска значительные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 14:08:16 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Dmitry SukhovilinВ базе планирую дерзать список таймеров. Т.е. их будет более одного. Опасаюсь рассинхронизации списка в безе (ее можно удалить же) и уже запущенных таймеров. В случае удаления базы таймеры совсем нельзя будет выключить. Можешь сделать все через один таймер, который по выполнению своей задачи выставляет следующий. И так любое количество раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 14:23:07 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
wadmanDmitry SukhovilinВ базе планирую дерзать список таймеров. Т.е. их будет более одного. Опасаюсь рассинхронизации списка в безе (ее можно удалить же) и уже запущенных таймеров. В случае удаления базы таймеры совсем нельзя будет выключить. Можешь сделать все через один таймер, который по выполнению своей задачи выставляет следующий. И так любое количество раз. Думал в эту сторону. Есть очень большой минус - придется дергать базу из места, из которого дергать ее не предполагалось. Т.е. бродкаст ресивер будет сам в базу ходить, как то не айс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 14:30:44 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Dmitry SukhovilinТ.е. бродкаст ресивер будет сам в базу ходить, как то не айс. Странные комплексы, но в базу могут все: ресиверы, сервисы, приложения, виджеты и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 14:31:50 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
wadmanDmitry SukhovilinТ.е. бродкаст ресивер будет сам в базу ходить, как то не айс. Странные комплексы, но в базу могут все: ресиверы, сервисы, приложения, виджеты и т.п. Физически могут. Но логически не хотелось бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 14:34:28 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Dmitry Sukhovilinwadmanпропущено... Странные комплексы, но в базу могут все: ресиверы, сервисы, приложения, виджеты и т.п. Физически могут. Но логически не хотелось бы. Сделай только сервис, который может общаться с базой напрямую, а остальные работают с сервисом через интенты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 14:48:10 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
Dmitry SukhovilinВот что то мне кажется, что устанавливать время в прошлое это не сильно хорошо. К моменту запуска аларма миллисекунды, полученные с календаря будут уже в прошлом. Хотя, может и не в этом дело. Расхождение во времени запуска значительные? да, даже могло быть и минуту 2 раза, могло быть и 3 раза в час, а было и тютелька в тютельку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 15:23:30 |
|
||
|
Правильное выполнение задачи через определенное время
|
|||
|---|---|---|---|
|
#18+
ImperousDmitry SukhovilinВот что то мне кажется, что устанавливать время в прошлое это не сильно хорошо. К моменту запуска аларма миллисекунды, полученные с календаря будут уже в прошлом. Хотя, может и не в этом дело. Расхождение во времени запуска значительные? да, даже могло быть и минуту 2 раза, могло быть и 3 раза в час, а было и тютелька в тютельку... особенно ерунда была в первый час запуска девайса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 15:24:05 |
|
||
|
|

start [/forum/topic.php?fid=13&msg=39151456&tid=1331193]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 476ms |

| 0 / 0 |
