Режим энергосбережения в Android управляется программно?

Можно ли включить/выключить режим энергосбережения из кода?

В настоящее время я занимаюсь захватом и освобождением wakelock, но я предполагаю, что это не одно и то же.


person MartinC    schedule 04.09.2013    source источник


Ответы (1)


В SDK нет общедоступных API для этого. Вы можете использовать PowerManager для получения и снятия блокировок, но это все. Кроме того, у каждого производителя и устройства может быть своя версия того, что подразумевается под «режимом энергосбережения», поэтому нет смысла предоставлять сторонним разработчикам приложений API для взаимодействия с системой таким образом.

person Anup Cowkur    schedule 04.09.2013
comment
спасибо, это имеет смысл для меня. Означает ли это также, что невозможно прочитать состояние энергосбережения? - person MartinC; 04.09.2013
comment
Верно. Гипотетически, некоторые телефоны могут сказать, что отключение Bluetooth является энергосберегающим, но другие могут отключить Bluetooth, Wi-Fi и Интернет для экономии энергии. Вы можете проверить каждую из этих вещей по отдельности через разные API в SDK, но вы не можете проверить, находится ли телефон в режиме энергосбережения в целом. - person Anup Cowkur; 04.09.2013
comment
Anup прав, не существует общего способа переключения режима энергосбережения, поскольку каждый производитель применяет эту концепцию по-своему. Жаль, что Google не создал и не выпустил общедоступный API для использования этой функции всеми производителями... - person ChuongPham; 11.12.2013