Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
07.04.2016, 17:18
|
|||
---|---|---|---|
|
|||
AlarmManager разные функции set для разных версий SDK! |
|||
#18+
Делая сервис, который должен запускаться через каждый час и проверять данные на сайте, выяснил для себя, что для разных версий SDK необходим разный подход. Сначала было сделано так как нашел в примерах с помощью setRepeating. Итог: сервис запускался когда хотел, как-то вообще игнорируя мой выбранный интервал. Если на малых промежутках времени это было приблизительно правильно, то чем больше увеличивался период запуска, тем дальше сдвигалось время запуска сервиса. Если ставил час, то только один раз сработало, и то не через час, а через 3. Далее в ходе экспериментов на живом устройстве пришел к примеру на habrahabr.ru для запуска сервиса AlarmManager. Стало немного легче. Для периодов менее 30 мин, работало нормально, оставил девайс на ночь, посмотрел лог. Сервис запускался четко через 30 мин до 3 часов, далее тишина запуска не одного. Затем в поисках узрел :) на странице developer.android.com авторNote: The Alarm Manager is intended for cases where you want to have your application code run at a specific time, even if your application is not currently running. For normal timing operations (ticks, timeouts, etc) it is easier and much more efficient to use Handler. Note: Beginning with API 19 (KITKAT) alarm delivery is inexact: the OS will shift alarms in order to minimize wakeups and battery use. There are new APIs to support applications which need strict delivery guarantees; see setWindow(int, long, long, PendingIntent) and setExact(int, long, PendingIntent). Applications whose targetSdkVersion is earlier than API 19 will continue to see the previous behavior in which all alarms are delivered exactly when requested. И в итоге, код получился такого вида: Код: javascript 1. 2. 3. 4. 5. 6.
Вот теперь интересно, будет ли отрабатывать правильно на 4.4 и выше или нет? Вообще необходимо что отрабатывало в конкретный промежуток времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.04.2016, 17:23
|
|||
---|---|---|---|
AlarmManager разные функции set для разных версий SDK! |
|||
#18+
PashekkaВот теперь интересно, будет ли отрабатывать правильно на 4.4 и выше или нет? Остается только это выяснить. :) будет хорошо, если поделишься выводами. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=13&mobile=1&tid=1331132]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 380ms |
0 / 0 |