2017-02-16 9 views
1

Я хочу обновить свое приложение до Android 6, и я использую alarmanager для рассылки моего фонового сервиса. Для моего обслуживания важно проснуться в приблизительно часовом окне. Он должен просыпаться в этом окне, чтобы не однажды выходить из устройства, но мне не важно, когда он просыпается в окне.Окно тревоги для док-станции Android

Я использую .setWindow в настоящий момент, чтобы установить будильник. Что мне нужно использовать, когда я хочу, чтобы он работал с дозовым режимом? Там нет setWindowAndallowWhileIdle

И насколько я знаю, установив окно вместо фиксированного времени должно быть предпочтительным, особенно в то время как в спящем режиме

ответ

0

Похоже, Android наконец-то решил быть строги заряда батареи и, следовательно, трудно bypass режим доз. Все дело в том, что вам действительно не нужно делать какие-либо работы на устройстве, которое было неподвижным в течение нескольких часов, и, скорее, дождаться окна технического обслуживания (где начнутся задания) или пользователь заберет свое устройство.

Для выполнения неточной или периодической работы, которая, пожалуйста, изучите JobScheduler: это буквально то, для чего оно построено, и предлагает вам хорошее разнообразие с точки зрения планирования [на основе таких критериев, как периодичность, дозируемая/незамеренная сеть, зарядка и т. Д.).

Они не хотят, чтобы мы вообще работали, пока дремлют. Поэтому из того, о чем я могу думать, ваш случай использования «один раз в час» только с самого лучшего обещания. Расписание и «надежда». Сказав это, Android N имеет более «practical» (мягкую) версию режима доз, где окна обслуживания быстрее. Вы можете проверить, я чувствую, что это не так мрачно, как кажется. Политика справедлива: если пользователь показывает намерение взаимодействовать с телефоном, они будут запускать задания.

исх https://www.bignerdranch.com/blog/diving-into-doze-mode-for-developers/

+0

Весь смысл моего приложения, чтобы регистрировать данные, пока пользователь не взаимодействует с устройством. Поэтому мне нужно разбудить устройство в режиме доз. поэтому я считаю, что это просто плохо, что я должен установить точную тревогу, чтобы обеспечить ее появление в моем окне, а не просто установить окно и предоставить системе больше возможностей для пакетной сигнализации. – Ben

+0

Да, вы правы, устанавливая точные аварийные сигналы [которые в любом случае не точны после 19], а окно выглядит как путь для вас. «Весь смысл моего приложения заключается в том, чтобы регистрировать данные, пока пользователь не взаимодействует с устройством» - вот чего больше не хочет андроид. Их аргумент заключается в том, что утечка батареи не должна происходить на незанятых устройствах. Так как пользователь не использовал то же самое. –

 Смежные вопросы

  • Нет связанных вопросов^_^