Установите яркость дисплея на 0% после некоторого времени бездействия. И вернуться к исходному значению после ввода пользователя - PullRequest
0 голосов
/ 14 января 2011

Я пишу приложение для Android (2.1+).И мне нужно решить проблему с яркостью дисплея.Приложение будет работать дольше и, если пользователь неактивен (например, 30 секунд), оно должно установить яркость на 0%, а после прикосновения на экране восстановить первоначальное значение.

Теперь я использую

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);  
wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "DimScreen");

и

@Override
protected void onPause() {
    super.onPause();
wl.release();
}
@Override
protected void onResume() {
super.onResume();
wl.acquire();
}

Но при этом яркость не будет установлена ​​на 0%.И разряд батареи выше.Можно установить яркость на 0% (без отключения дисплея) и восстановить исходное значение , просто коснувшись экрана?Устройство не должно блокироваться во время работы приложения.

Заранее спасибо.
kamelot_sk

1 Ответ

0 голосов
/ 21 февраля 2011

Единственный способ запустить приложение при выключенном экране - это использовать частичную блокировку, но это не соответствует вашему требованию снова включить экран, просто коснувшись его и не нажимая кнопку питания.

Еще один способ сделать то, что вы хотите, это использовать метод 'hardware.setScreenBacklight', введя целочисленное значение, чтобы уменьшить яркость экрана до минимально возможного. Также с помощью 'android: keepScreenOn = "true" "в макете представления XML для вашего класса, чтобы убедиться, что экран всегда включен, пока приложение открыто.

...