#Service #Background
Pitfalls of a foreground Service lifecycle от Maciej Witowski
Android 8.0 ввел новые правила для приложений - по максимум показывать пользователю активность в фоне и управлению по ее запуску отдавать системе (JobScheduler). Также ужесточением политики было необходимость в этом году всем приложением поддерживать minSdk = Android 8.0.
Одним из больших изменений, которые пришлось делать разработчикам при адаптации своих приложений - уход от обычных Service в сторону Foreground Service либо JobScheduler.
Основные правила при работе с Foreground Service:
1️⃣ Не вызывайте Service.startForeground() слишком рано
2️⃣ Вызывайте Service.stopSelf() после startForeground()
3️⃣ Останавливайте Service только из него самого
Нарушение правил карается падением приложения по принципам работы на Android 8.0+ 😢
Соблюдение этих правил сводиться к тому, что запуск Context.startForegroundService() всегда должен сводиться в обязательному наличию вызова Service.startForeground().
Pitfalls of a foreground Service lifecycle от Maciej Witowski
Android 8.0 ввел новые правила для приложений - по максимум показывать пользователю активность в фоне и управлению по ее запуску отдавать системе (JobScheduler). Также ужесточением политики было необходимость в этом году всем приложением поддерживать minSdk = Android 8.0.
Одним из больших изменений, которые пришлось делать разработчикам при адаптации своих приложений - уход от обычных Service в сторону Foreground Service либо JobScheduler.
Основные правила при работе с Foreground Service:
1️⃣ Не вызывайте Service.startForeground() слишком рано
2️⃣ Вызывайте Service.stopSelf() после startForeground()
3️⃣ Останавливайте Service только из него самого
Нарушение правил карается падением приложения по принципам работы на Android 8.0+ 😢
Соблюдение этих правил сводиться к тому, что запуск Context.startForegroundService() всегда должен сводиться в обязательному наличию вызова Service.startForeground().