Изследване на ограниченията за изпълнение във фонов режим на Android Oreo - Статия за това какви ограничения Android 8 прилага за приложения, работещи във фонов режим.
- Ограниченията се прилагат само за приложения, компилирани за API 26 и по-нови.
- Приложенията не могат да стартират услуги, докато са във фонов режим. Ще бъде хвърлено изключение IllegalStateException.
- Приложенията могат да изпълняват услуги на преден план, които се показват в лентата за известия и се наричат услуги.
- Приложенията могат да стартират услуги след получаване на насочено известие с висок приоритет, но такава услуга ще бъде спряна след пет минути.
- Приложението може да изпълнява услуги, докато е на екрана, но ако приложението е минимизирано, всички услуги ще бъдат прекратени след известно време.
- Приемниците за излъчване, декларирани в манифеста, ще бъдат деактивирани с някои изключения (вижте таблицата по-долу).
Как да заобиколите ограниченията
- услугите на преден план могат да се използват вместо фонови услуги;
- Job Scheduler е подходящ за изпълнение на задачи при възникване на определени събития;
- така че програмата да може да отговори на всякакви излъчвани съобщения, получателите на тези съобщения трябва да бъдат регистрирани динамично, като се използва методът registerReceiver().