0

我正在为 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%(不关闭显示)并只需触摸屏幕即可恢复原始值?并且设备不应在应用程序运行时自行锁定。

提前致谢。
卡梅洛特斯克

4

1 回答 1

0

在屏幕关闭时让应用程序运行的唯一方法是使用部分唤醒锁,但这不符合您只需触摸屏幕而无需按下电源按钮即可再次打开屏幕的要求。

做你想做的另一种方法是使用方法'hardware.setScreenBacklight'输入一个整数值来将屏幕调暗到尽可能低。还在类的 XML 视图布局中使用 'android:keepScreenOn="true"' 以确保在应用打开时屏幕始终处于打开状态。

于 2011-02-21T15:29:43.240 回答