Проверьте проблемы, связанные с питанием

Функции управления питанием, представленные в Android 9 (уровень API 28), влияют на все приложения, работающие в этой версии, независимо от того, предназначены ли они для этой версии или нет. Важно убедиться, что ваше приложение работает правильно на этих устройствах.

Протестируйте основные варианты использования вашего приложения в различных условиях, чтобы увидеть, как функции управления питанием взаимодействуют друг с другом. Вы можете использовать команды Android Debug Bridge ( adb ) для включения и выключения некоторых функций.

Команды Android Debug Bridge (adb)

Вы можете использовать команды оболочки adb для тестирования некоторых функций управления питанием.

Информацию об использовании adb для перевода устройства в режим Doze см. в разделе Тестирование с помощью Doze и режима ожидания приложения .

Резервные сегменты приложений

Вы можете использовать adb , чтобы вручную назначить свое приложение в корзину ожидания приложения. Чтобы изменить корзину приложения, сначала смоделируйте отключение устройства, используя следующую команду:

$ adb shell dumpsys battery unplug

Используйте следующую команду, чтобы назначить ваше приложение резервному сегменту:

$ adb shell am set-standby-bucket packagename active|working_set|frequent|rare

Вы также можете использовать предыдущую команду для одновременной установки нескольких пакетов:

$ adb shell am set-standby-bucket package1 bucket1 package2 bucket2...

Чтобы проверить, в каком сегменте находится приложение, выполните следующую команду:

$ adb shell am get-standby-bucket packagename

Если вы не передадите параметр packagename , команда выведет список сегментов для всех приложений. Приложение также может узнать свой сегмент во время выполнения, вызвав новый метод UsageStatsManager.getAppStandbyBucket() .

Фоновые ограничения

Чтобы вручную применить фоновые ограничения, выполните следующую команду:

$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore

Чтобы снять фоновые ограничения, выполните следующую команду:

$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow

Экономия заряда батареи

Существует несколько команд для проверки того, как ваше приложение ведет себя в условиях низкого энергопотребления.

Чтобы имитировать отключение устройства, используйте следующую команду:

$ adb shell dumpsys battery unplug

Чтобы проверить, как устройство ведет себя в условиях низкого энергопотребления, используйте следующую команду:

$ adb shell settings put global low_power 1

После завершения тестирования вы можете отменить ручные настройки устройства с помощью следующей команды:

$ adb shell dumpsys battery reset