TGViewer
Мобильная разработка Мобильная разработка @mobi_dev · 13.2K subscribers
Post #4714 1.59K
Автоматизация в приложении не должна ждать сеть, и на Android её можно собрать целиком на устройстве

Вы вешаете смену профиля звука на правило из Firebase, и в метро приложение молчит: пора срабатывать, а ответа сервера нет. То же в самолёте и на слабой связи.

Автор Muffle, приложения для беззвучного режима по времени и месту, вынес состояние на устройство: Room как единственный источник правды, WorkManager для периодических проверок, Geofencing API для геозон, AlarmManager для времени, а профили переключает ForegroundService через AudioManager.

Учтите: ForegroundService нужно объявить типом в манифесте и обосновать в Google Play Console, иначе релиз рискует не пройти ревью. И геозоны с будильниками после перезагрузки регистрируются заново, сверяться с сервером не с чем. Как автор делает переходы состояний атомарными, чтобы телефон не остался в беззвучном режиме навсегда.

#android
  • ❤‍🔥 1
More from @mobi_dev
  1. Sep 20, 2026Как ProfilingManager на Android 15+ помогает искать причины тормозов в продакшене Profilin…
  2. Sep 20, 2026Как использовать свайп-действия вне List в SwiftUI В SwiftUI свайп-действия вроде удаления…
  3. Sep 20, 2026Как переносить сложные Android-экраны на Jetpack Compose: опыт TikTok Команда TikTok перен…
  4. Sep 19, 2026Как управлять кнопками панели инструментов в SwiftUI Одна и та же панель в SwiftUI ведёт с…
  5. Sep 19, 2026Как безопасно освобождать временные ресурсы с defer в Swift В Swift блок defer выполняется…
  6. Sep 19, 2026Как Flutter готовит приложения к новым версиям iOS Между WWDC и стабильным релизом iOS у к…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →