Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
dmitry_stas
0 / 0 / 0
Регистрация: 16.06.2015
Сообщений: 2
1

AlarmManager.setRepeating и долгое время выполнения

16.06.2015, 20:05. Просмотров 341. Ответов 0
Метки нет (Все метки)

Привет всем.

А кто как решает задачу, когда время выполнения сервиса возможно будет больше чем периодичность вызова этого сервиса в alarmManager.setRepeating ? Ну например, alarmManager.setRepeating для проверки почты задан каждую минуту, а загрузка этой самой почты затянулась, и длилась скажем аж 4 минуты. Проверка в самом сервисе на то, что он уже запущен, это понятно. Но вот проблема в том, что за эти 4 минуты alarmManager все равно успел поставить в очередь еще 4 сервиса, которые все равно запустятся, когда первый отработает. Причем отработают сразу же при наступлении очереди, поскольку у них время запуска будет уже просроченное. А это как то не очень Пока решил вопрос не через alarmManager.setRepeating, а через alarmManager.set, и вызов самого себя в сервисе после того как отработала тяжелая длительная часть, но так не очень нравится, потому что если вдруг в процессе выполнения долгой части сервиса возникнет ситуация, что сервис вывалится, то alarmManager.set в нем самом может и не выполнится, и последующих запусков уже не будет. Можно конечно сделать еще одну периодическую проверку уже через alarmManager.setRepeating именно на проверку успешной отработки сервиса, но чета мне кажется это как то... Наверняка должно же быть более элегантное решение... Кто как решает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2015, 20:05
Ответы с готовыми решениями:

Время выполнения функции из C++ и из Java
Здравствуйте! Пытаюсь оценить время выполнения функции из C++ и из Java. Они...

Размер view по время выполнения
Здрасте Создаю класс наследованный от view. В нем рисуют на canvas. Только...

Ограничить время выполнения HTTP запроса
Всем привет Имеется код, работающий на отдельном сервисе BufferedReader...

Про необновляемость вьюх во время выполнения UI-поток
TextView.setText(""+555); try{TimeUnit.SECONDS.sleep(10);} catch...

Изменить имя ресурса во время выполнения программы
Доброго времени суток. допустим есть вот такая вещь : rsc =...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2015, 20:05

Закрыть диалог во время выполнения процесса (принудительное срабатывание dismiss()
Всем привет! В приложении есть диалоговое окно с кнопкой, по нажатию которой...

AlarmManager
Всем привет. Взял код AlarmManager отсюда. В свой проект добавил...

AlarmManager
Добрый вечер, как задать время вручную ? alarmManager.set(AlarmManager.RTC,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru