управление блокировкой экрана и яркостью дисплея из службы (без активности)

Я видел два других подобных вопроса, но нет ответов, которые работают.

У меня есть фоновая служба, которая пытается выполнить какое-то пользовательское управление питанием и должна иметь возможность независимо контролировать блокировку экрана (либо принудительно блокируя его немедленно, либо предотвращая его блокировку), а также состояние дисплея (заставить его отключить , включено или затемнено). Я с трудом нахожу такие элементы управления. Мы разрабатываем для устройства, поэтому один из вариантов — изменить исходный код Android, но мы очень стараемся этого избежать.

Я могу использовать PowerManager.WakeLocks, чтобы пассивно предлагать яркость экрана (как и любой другой, так что это не гарантируется). Это нормально для предотвращения блокировки экрана и сохранения дисплея включенным.

Я видел вызов PowerManager.goToSleep() для принудительной блокировки экрана - это работает. Но это не заставляет дисплей выключаться (или что-то еще мешает этому).

Есть ли для этого API ОС Android? Я не могу найти их в онлайн-руководстве разработчика.


person cbp2    schedule 17.11.2011    source источник


Ответы (1)


Чтобы изменить яркость, я использую

import android.provider.Settings.system;
...
ContentResolver contentResolver = Application.getContext().getContentResolver();
...
System.putInt(contentResolver, System.SCREEN_BRIGHTNESS, value);
person gobernador    schedule 23.02.2012