【问题标题】:Set display brightness to 0% after some time of inactivity. And back to original value after user input一段时间不活动后,将显示亮度设置为 0%。并在用户输入后恢复原始值
【发布时间】:2011-01-14 09:55:31
【问题描述】:

我正在为 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

【问题讨论】:

  • 可能是屏幕不支持“0%”亮度。您是否验证过您可以将屏幕调暗到比您使用该程序获得的亮度更低的亮度? (使用设置应用或第三方应用)
  • 谢谢,我已经测试过了,即使手动设置也无法降低亮度。所以我的问题是:可以完全关闭显示器并通过触摸唤醒它吗? (没有按电源/主页按钮)

标签: android brightness


【解决方案1】:

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

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

【讨论】:

  • 谢谢,这是个好主意,但它会立即使屏幕变暗。我想让调光恒定和流畅到零(或非常接近)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-19
  • 2016-02-10
  • 1970-01-01
  • 2011-10-01
  • 2011-08-31
相关资源
最近更新 更多