ng-designs / Dont_Kill_My_App

Библиотека классов и тестовое приложение к ней. Задача: Создание кода, способного периодически делать что-то пока приложение находится в фоне, с заданной частотой, по возможности игнорируя doze mode и другие оптимизации экономии питания Android систем с автоматическим перезапуском приложения при его закрытии системой или перезагрузкой устройства. Протестировано на Samsung SDK level 30- обеспечивается "незасыпание" фоновых процессов в среднем более чем на 3 минуты при обычной работе, и эпизодические перерывы не более 5-10-20 минут в Doze mode.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dont_Kill_My_App

Библиотека классов и тестовое приложение к ней. Задача:
Создание кода, способного поддерживать активность (препятствовать остановке его операционной системой) пок приложение находится в фоне, по возможости игнорируя doze mode и другие оптимизации экономии питания Android систем с автоматическим перезапуском приложения при его закрытии системой или перезагрузкой устройства.

Для активации режима "выживания приложения" достаточно добавить в onCreate() Application класса следующий код: LifeKeeper lifeKeeper = LifeKeeper.getInstance();

lifeKeeper.start(this);

Дополнительно можно, к примеру, инициировать для последующего обзора через observeForever лайфдаты полученные методом lifeKeeper.subscribeOnPeriodicEvents(), или установить слушатели на вырабатываемые регулярные события.

Протестировано на Samsung SDK level 30 - обеспечивается "незасыпание" фоновых процессов в среднем более чем на 3 минуты при обычной работе, и эпизодические перерывы не более 5-10-20 минут в Doze mode.

Поддерживается уровень SDK 19-31. Работа на аппаратах с агрессивной оптимизацией питания китайских производителей не тестировалась и может быть проблемной

About

Библиотека классов и тестовое приложение к ней. Задача: Создание кода, способного периодически делать что-то пока приложение находится в фоне, с заданной частотой, по возможности игнорируя doze mode и другие оптимизации экономии питания Android систем с автоматическим перезапуском приложения при его закрытии системой или перезагрузкой устройства. Протестировано на Samsung SDK level 30- обеспечивается "незасыпание" фоновых процессов в среднем более чем на 3 минуты при обычной работе, и эпизодические перерывы не более 5-10-20 минут в Doze mode.

License:MIT License


Languages

Language:Java 100.0%