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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
sjoiton
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 5
#1

В спящем режиме останавливаются таймеры - Программирование Android

03.12.2014, 01:25. Просмотров 1759. Ответов 22
Метки нет (Все метки)

Использую такой код:
Java
1
2
3
4
5
6
7
8
9
10
class TimerTaskLoad extends TimerTask {
    @Override
     public void run() {
         Log.i("info", "timer");
    }
}
Timer timer = new Timer();
 
TimerTaskLoad timerTask = new TimerTaskLoad();
timer.schedule(timerTask, 0, 2 * 1000);
Когда в Activity вызывается onPause(или спящий режим в телефоне), то таймеры останавливаются. После onResume снова запускаются. Возможно ли сделать так, чтобы таймеры работали в спящем режиме?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2014, 01:25     В спящем режиме останавливаются таймеры
Посмотрите здесь:
Windows 8.1 выключается в спящем режиме Windows 8, 8.1
Android 4.0.4 Не работает WI-FI в спящем режиме Android
Частота процессора в спящем режиме.
Windows 7 Выполнение процесса в спящем режиме
В спящем режиме возобновляется работа
Утечка оперативной памяти в спящем режиме Windows 8, 8.1
Отключается Wi-fi на планшете (Win 8) при спящем режиме Windows 8, 8.1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,238
27.05.2016, 20:52     В спящем режиме останавливаются таймеры #16
Если после выполнения задачи вызвать realise у PowerManagera то устройство сможет опять уйти в спячку. Главное вовремя снять PowerManager после выполнения задачи тогда все норм. Если конечно задача не очень длинная.
stix357
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 9
Завершенные тесты: 2
27.05.2016, 20:55     В спящем режиме останавливаются таймеры #17
Цитата Сообщение от yura91 Посмотреть сообщение
Если после выполнения задачи вызвать realise у PowerManagera то устройство сможет опять уйти в спячку.
Да, но потом следующий вызов таймера пролетает. Девайс уже спит ........
Мда, эмуляторы в Андроид студии эту ситуацию не отрабатывают - по ходу у них спячки нет.
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,238
27.05.2016, 20:55     В спящем режиме останавливаются таймеры #18
Просто представьте у вас сервис выполнял некую задачу и вы Alarmom его будете. Он начнет выполнять задачу сначала, а вам сначала не нужно постоянно ее выполнять. Вам нужно один раз до конца ее выполнить.
stix357
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 9
Завершенные тесты: 2
27.05.2016, 21:14     В спящем режиме останавливаются таймеры #19
Цитата Сообщение от yura91 Посмотреть сообщение
Просто представьте у вас сервис выполнял некую задачу и вы Alarmom его будете. Он начнет выполнять задачу сначала, а вам сначала не нужно постоянно ее выполнять. Вам нужно один раз до конца ее выполнить.
А в этом случае после побудки мне вывесит цать эвентов, если они в задаче есть. А это крайне нежелательно
НО! Если сервис уснул, то придется задачу снять незавершенную и заново перезапустить.
Я думаю, что таймеры из сервиса надо убирать. А на отработку Alarmа повесить что-то вроде
Java
1
private class MyAsyncTask extends AsyncTask<String, Integer, Integer> {..........
Добавлено через 6 минут
Цитата Сообщение от yura91 Посмотреть сообщение
Он начнет выполнять задачу сначала, а вам сначала не нужно постоянно ее выполнять. Вам нужно один раз до конца ее выполнить.
Поток все одно должен отработать....
Потом спячка. А потом новый аларм. Но, блин, опять батарею жрать будет алармы промежутком мин на 15-20 ставить надо
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,238
27.05.2016, 21:19     В спящем режиме останавливаются таймеры #20
Поток все одно должен отработать....
Почему вы так уверены что он отработает до конца? Он уснуть может вполне. Ну я не знаю конечно вашу задачу, если вам удобно каждый раз перезапускать незавершенную задачу сначала то......
stix357
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 9
Завершенные тесты: 2
27.05.2016, 22:43     В спящем режиме останавливаются таймеры #21
Добавлено через 8 минут
Цитата Сообщение от yura91 Посмотреть сообщение
Почему вы так уверены что он отработает до конца? Он уснуть может вполне. Ну я не знаю конечно вашу задачу, если вам удобно каждый раз перезапускать незавершенную задачу сначала то......
Задача проста - при доступности сети или GPS получить геоданные - записать в базу на теле - отправить на сайт.
Порядка 30-40 сек на все.
Все, можно спать до следующего момента получить-записать-отправить.
Именно запущенный поток, как полагаю не даст ЦП уснуть до конца отработки.
Попробую, однако. Других вариантов пока не вижу.
Таймер, думаю не свой поток прерывает, а просто его не запускает в указанное время - счетчик времени спит.

Добавлено через 10 минут
В край на время выполнения потока можно запретить засыпать. Но по завершению потока блокировку сна снимать обязательно.
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
28.05.2016, 17:17     В спящем режиме останавливаются таймеры #22
stix357, ты особо к советам этого юры не прислушивайся он тебе такого насоветует, автор 300+ бессмысленных тем
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2016, 11:58     В спящем режиме останавливаются таймеры
Еще ссылки по теме:
Windows 8, 8.1 Доступ к принтеру когда Win8 в спящем режиме
IBM Thinkpad T30 - включается в спящем режиме
Windows 8, 8.1 Раньше ноутбук отключался на старте, теперь в спящем режиме
MSI GE60 2OE, свист в спящем режиме, и не только ...
Samsung NP355V5C-A06; не мигает индикатор питания в спящем режиме

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

Или воспользуйтесь поиском по форуму:
stix357
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 9
Завершенные тесты: 2
29.05.2016, 11:58     В спящем режиме останавливаются таймеры #23
Цитата Сообщение от Паблито Посмотреть сообщение
stix357, ты особо к советам этого юры не прислушивайся он тебе такого насоветует, автор 300+ бессмысленных тем
Ну, он пока ничего не советует
Я сам слишком поздно понял, что весьма старую тему поднял
Yandex
Объявления
29.05.2016, 11:58     В спящем режиме останавливаются таймеры
Ответ Создать тему
Опции темы

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