твое приложение не системное то в точное время запустить алярм у тебя не выйдет, даже если юзать всякие setExactAndAllowWhileIdle()
Кто-то пробовал засетить точную алярму? У кого-то вышло?
alarm manager не рекомендуется юзать в 2021 году. воркманагер твое решение
так воркменежер это же не для точных событий
И для будильников!?
Подумал иванушка над тз, затужил, и решил что нет проще способа обойти doze mode как самому себе fcm push отправить...
Так а он вроде без задержек не умеет запускаться. Только AlarmManager так умеет
а можно это локально сделать?
Запусти примерно, каждые 15 минут как он умеет (или примерно за 15 до времени). В нем запусти джавовский таймер на нужное время. Думаю правдо что таймер не сработает в doze, но попробовать можно
Заржал мысленно над таким извращением, представив поднятие внутреннего сервера с локалхостом
ахахха, ну мне надо любой ценой это сделать)
на всяких китайфонах где по дефолту вкл оптимизация батареи не работает( ну точнее работает но с задержкой на пару часов)
Мде, это чёт жестко. Я сейчас тоже с будильниками работаю, но мне там точность не нужна, работает с задержкой в 5-10 минут. А чтобы прямо пару часов - такого не было пока что.
Посмотри еще бродкаст ресивер для on_tick. Все собираюсь посмотреть будет ли он ловить ежеминутные тики в doze mode.
Ну, кста, можно попытаться попросить пользователя отключить оптимизацию
Хм, как глянешь скажи, тоже интересно стало
ты используешь тот код что выше кидал?
ахаха идея хорошая, только боюсь это в маркет не пустят
Приложение будильник имеет право использовать alarm manager и любые извращения что бы будить вовремя и в стор пройдет. Будильниг для глухих тем более, красную дорожку расстелят
А за будильник для глухих с функцией включения через IoT чайника?
воркменежер для того что бы репитить?
Ну с оптимизацией на любом китаефоне заработает.
Да у меня был прикол посерьезнее задержки. Через какое-то время он переставал вообще срабатывать. Причём начинал я с воркманагера. Потом взял аларм. Ни то, ни другое не работало нормально. И теперь я сделал супер-костыль. У меня и аларм и воркманагер друг-друга решедулят. Только так работает. Но это мне просто надо каждый час просыпаться, я думаю из-за этого меня китайфоны через какое-то время убивали.
а есть на гитхабе?
Нет, это рабочий проект, там код закрытый
очень жаль(
тож так хочу
Первая разница ровно в час напоминает глюк с тайсзоной или переводом часов. Проверь, не оно?
у аларма есть разные методы , есть точные типo setExact() и обычные, которые срабатывает ориентировочно. Кроме того аларм даже с setExact() могут не отработать в доуз моде на некоторых девайсах , если офк приложуха в вайтлист не зашита.
Ну я там кидал выше код, там setExactAndAllowWhileIdle(), плюс отключена оптимизация батареи для приложения.
ну я тестил на своем сяоми такую схему - и можешь получить ситуацию когда все равно не сработает в доуз, а будет отложенно до выхода из него.
Логичнее включать яркую лампу
Да, но мне в общем-то на задержки пофиг. Мне смещение на 5-10-15 терпимо. Мне в общем-то даже на час задержка будет нормально, главное чтобы оно рано или поздно сработало.
самое надежное - фореграунд сервис :D
Хах, нет) Хотя может ставить будильник и запускать форграунд сервис, и тогда будильник сработает как надо. С форграунд сервисом я тоже намучился, у меня Honor просто фризил прилку через какое-то время после выключения экрана. И ему как-то было неважно есть у меня форграунд сервис или нет)
Обсуждают сегодня