Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
dmitry_stas
0 / 0 / 0
Регистрация: 16.06.2015
Сообщений: 2
#1

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

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

Привет всем.

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

Ограничить время выполнения HTTP запроса Android
Android Размер view по время выполнения
Android Время выполнения функции из C++ и из Java
AlarmManager Android
Android Изменить имя ресурса во время выполнения программы
Закрыть диалог во время выполнения процесса (принудительное срабатывание dismiss() Android
Android AlarmManager + Notification
Не работает AlarmManager Android
Android AlarmManager
Android AlarmManager и Service or Receiver?
Basic4Android Как реализовать паузу во время выполнения программы
Android AlarmManager и TextView

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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