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

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

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

Выполнение задачи с интервалом 1 с - Программирование Android

12.07.2016, 09:53. Просмотров 290. Ответов 12

Пишу программу под Андроид. Одна из функций программы, запуск определенного кода каждую секунду вне зависимости от того спит система или нет. На андроиде 4.2 отлично работает AlarmManager (SetInexactRepeating), который вызывает код моего сервиса с нужной частотой. На андроиде 5.1 столкнулся с тем, что частоты ниже 1 минуты принудительно приводятся к 60 сек и код сервиса вызывается уже раз в минуту, что меня не устраивает.

Можете ли подсказать корректные методы решения моей задачи? Может быть надо использовать другой подход?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2016, 09:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выполнение задачи с интервалом 1 с (Программирование Android):

Клики с интервалом - Программирование Android
Подскажите пожалуйста, как сделать так, чтобы при 5 кликах подряд с маленьким интервалом (примерно 0.5с) выводилось какое-то сообщение, ну...

HTTP запрос с интервалом - Программирование Android
Здравствуйте! Подскажите как получать код странички с интервалом ~85мс Я пробовал так, подключая таймерclass DownloadWebPageTask...

Выполнение php файла с временным интервалом - jQuery
Друзья, имеется интернет-радио собственного производства. Встал вопрос о том, чтобы во время проигрывания песен, выводилось их название....

Выполнение процедур по очереди с интервалом в 10 сек - Delphi
Привет! Подскажите пожалуйста, как замутить таймер. У меня есть 7 процедур, все они запитаны на нажатие кнопки. Хотелось бы чтобы все...

Выполнение стороннего скрипта с определенным интервалом - JavaScript
Доброго времени суток, форумчане. Возникла потребность в скрипте, выполняемом через определенный промежуток времени, пока пользователь...

Как организовать выполнение функций с постоянным интервалом - JavaScript
Собственно я уже все спросил. У меня есть функция, которая меняет одну картинку на другую через соответствующий интервал времени... Она...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
12.07.2016, 10:29 #2
Таймер, но батарею жрать будет...
0
AntonAD
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 7
12.07.2016, 10:45  [ТС] #3
Про батарею я понимаю, это неизбежное зло. А про таймер хотелось бы подробнее.... Ссылку на класс, примеры....
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,799
Завершенные тесты: 1
12.07.2016, 10:50 #4
а если где-то в сервисе стартануть задачу с интервалом 1 сек?
Java
1
2
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(runnableTask, 0, 1, TimeUnit.SECONDS);
0
AntonAD
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 7
12.07.2016, 11:00  [ТС] #5
http://stackoverflow.com/questions/6...xecutorservice
Если верить этой ссылке, таймеры и ScheduledExecutorService не будут работать когда телефон заснет и отстрелит мое приложение.
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,799
Завершенные тесты: 1
12.07.2016, 11:23 #6
что подразумевается под "телефон заснет"?
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
12.07.2016, 11:32 #7
Таймер в сервисе, а перезапуск сервиса никто не отменял
0
AntonAD
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 7
12.07.2016, 11:43  [ТС] #8
Имею в виду, когда мое приложение будет поставлено на паузу системой.

Добавлено через 1 минуту
Таймер в сервисе, а перезапуск сервиса никто не отменял.
Что имеете в виду под перезапуском сервиса?
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
12.07.2016, 11:51 #9
Я имею в виду, что если система сервис убьёт, он сам заново запустится.
0
AntonAD
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 7
12.07.2016, 11:54  [ТС] #10
Я имею в виду, что если система сервис убьёт, он сам заново запустится.
Когда перезапустится? Я думаю что не скоро, а необходимость выполнять код раз в сек остается.
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
12.07.2016, 12:19 #11
То есть подразумевается, что система может убить все, кроме твоей программы? Хоть аккумулятор из телефона вытащи, а код должен исполняться раз в секунду ))
0
petruchodd
12.07.2016, 12:28
  #12

Не по теме:

интересно , а зачем нужен интервал такой маленький - ведь батарея реально будет садится быстро + именно из-за этого на 5+ и сделали ограничение в минуту

0
AntonAD
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 7
12.07.2016, 13:03  [ТС] #13
То есть подразумевается, что система может убить все, кроме твоей программы? Хоть аккумулятор из телефона вытащи, а код должен исполняться раз в секунду ))
Не будем доводить тему до абсурда.
Сервис должен работать пока телефон работает. AlarmManager вполне штатно это позволяет делать. Причем до 5 версии с нужной частотой.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2016, 13:03
Привет! Вот еще темы с ответами:

Разработать программу решения задачи,в которой увеличить высоту главной формы на 1 пиксель с интервалом в 3 секунды - Delphi
Разработать программу решения задачи,в которой увеличить высоту главной формы на 1 пиксель с интервалом в 3 секунды.

Антон решает задачи. Подскажите Антону, в каком порядке нужно решать задачи, чтобы на выполнение всей работы ушло как можно меньше времени - Pascal ABC
Пожалуйста помогите с задачей Мальчик Антон решает вступительную работу в летний математический лагерь. В ней N заданий, которые можно...

Обьясните выполнение задачи - C++
Привет. Искал в интернете задачи по с++, наткнулся на эту. Витя работает недалеко от одной из станций кольцевой линии метро, а живет...

Выполнение задачи по расписанию - Python
Добрый день! Имеется скрипт который выполняет определенную функцию по расписанию. В данный момент скрипт выполняет функцию по...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.07.2016, 13:03
Ответ Создать тему
Опции темы

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