|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Сорри за такую дурацкую тему, но что-то залип немного :( Требуется раз в месяц, в определенный день и час запускать функцию. Сделал сервис, сделал таймер, но в итоге конструкция работает как-то криво: запускается в нужный день, но не единожды, как задумывается, а несколько раз с разными промежутками между запусками. Как делаю: 1. В onCreate инициализирую таймер, задаю параметры и запускаю планировщик. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
2. В onDestroy соответственно все отменяю Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Что не так делаю ? Такое ощущение, что при уничтожении сервиса и его последующем создании каждый раз создается новый таймер, а старый не удаляется. И правильно ли вообще задача реализуется, может есть более правильные методы ? Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2015, 12:25 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Почему не сервисом делаешь? Он может работать отдельно от приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2015, 15:09 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Именно сервисом и делаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2015, 15:43 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
А в коде таймер... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2015, 16:02 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Поищи здесь по слову будильник. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2015, 16:06 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Спасибо, что натолкнули в нужном направлении. https://developer.android.com/intl/ru/training/scheduling/alarms.html - для тех, кто будет так же тупить, как и я)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2015, 16:33 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Еще пара вопросов. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Планирую на выполнение задачу один раз в месяц. Все работает, но непонятен один момент: если текущее время больше того, которое запланировано, задача сразу же срабатывает. Мне же нужно, что бы сработка была только раз, как это сделать ? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
А тут пытаюсь сделать задачу, которая повторялась бы через равные промежутки времени, но почему-то setWindow срабатывает только раз. Что тут не так делаю ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2015, 18:49 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
C повторением разобрался, невнимательно читал документацию :( Первый вопрос еще актуален. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2015, 19:42 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
korshunПервый вопрос еще актуален. Этот? korshunМне же нужно, что бы сработка была только раз, как это сделать ? Дак ведь проще простого: проверяй, сколько сейчас времени и какое число, прежде, чем планировать дату/время выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 09:12 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Да так и сделал уже :) Только оно как-то через раз работает. Дебаггер показывает точку входа в блок, планирование значит выполняется, а подходит нужное время - тишина. Создается впечатление, что это может быть связано с перезапуском сервиса. Вставил в onDestroy System.out.println("CheckNewDataService onDestroy"); - убил сервис, в итоге в консоли: Код: java 1. 2. 3. 4.
В итоге прошло уже гораздо больше 40937ms, а сервис так и не стартовал :( Это что, очередная "особенность" android kitkat ? :( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 10:32 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Не вызывается у меня onDestroy() Вообще. Android 4.4.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 12:33 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
korshunНе вызывается у меня onDestroy() А где смотришь? Пуляешь в одно место, а смотришь в логкате? В логкат пишут с помощью класса Log.* ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 12:47 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Знаю :) С помощью Log.d() выводится ровным счетом то же самое :) Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 13:01 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
korshun Код: java 1.
Эта строка о чем говорит? Что закрываешь приложение средствами андроида? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 13:22 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
По ссылке кстати в коде сервис, а у тебя тут не сервис. Добавь сервис, которым контролируй свои будильники. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 13:32 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
wadmankorshun Код: java 1.
Эта строка о чем говорит? Что закрываешь приложение средствами андроида? Вылазит после того, как вручную очищаю память. wadmanПо ссылке кстати в коде сервис, а у тебя тут не сервис. Добавь сервис, которым контролируй свои будильники. В смысле "у тебя не сервис", это тогда что такое ? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 14:08 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
А про флаги всё прочитал? Там есть кое-что интересное: http://developer.android.com/intl/ru/reference/android/app/Service.html#START_REDELIVER_INTENT авторConstant to return from onStartCommand(Intent, int, int): if this service's process is killed while it is started (after returning from onStartCommand(Intent, int, int)), then it will be scheduled for a restart and the last delivered Intent re-delivered to it again via onStartCommand(Intent, int, int). This Intent will remain scheduled for redelivery until the service calls stopSelf(int) with the start ID provided to onStartCommand(Intent, int, int). The service will not receive a onStartCommand(Intent, int, int) call with a null Intent because it will will only be re-started if it is not finished processing all Intents sent to it (and any such pending events will be delivered at the point of restart). Constant Value: 3 (0x00000003) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 14:21 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Да читал и даже пробовал - результат такой же :( Интернеты пишут, что это баг kitkat'a. Одно не понятно - почему у меня ondestroy в принципе не срабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 07:20 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
korshunИнтернеты пишут, что это баг kitkat'a. Врут поди... Проверь: wadman.ru/apk/srvtest.apk ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 08:53 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Да тоже самое :( Сервис схлопывается, когда телефон уходит в спячку и с концами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 09:35 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
korshunДа тоже самое :( Про спячку речи не было. Что происходит, когда останавливаешь его стопом? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 09:41 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Абсолютно то же самое, что и в случае с моим приложением - процесс пропадает и больше не стартует. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 10:04 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
Нашел видео: ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 10:06 |
|
Запуск функции ежедневно
|
|||
---|---|---|---|
#18+
korshun, у меня на телефона 4.4.2 и баг повторяется, а уже в эмуляторе 4.4.4 - все нормально работает. Но! Ватсап как-то умудряется нормально работать, его видимо гугловские пуш сервисы инициализируют. А их фиг убьешь, они умеют пользоваться скрытым айпи. Погугли на тему скрытого айпи, я как-то его выдергивал из своего смарта. Там много интересного. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 10:22 |
|
|
start [/forum/topic.php?fid=13&msg=38980167&tid=1331325]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 249ms |
total: | 379ms |
0 / 0 |