什么是调暗屏幕的正确方法?

时间:2010-08-16 19:53:31

标签: android

到目前为止,我在搜索中看到了两种方法,这两种方法都遇到了麻烦。

方法1)

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 100);

方法2)

IHardwareService hardware = IHardwareService.Stub.asInterface(ServiceManager.getService("hardware"));
hardware.setScreenBacklight(.5);

这些方法中哪一个是正确的?或者我还应该使用另一种吗?

由于

2 个答案:

答案 0 :(得分:5)

我使用下面的代码执行相同的操作

WindowManager.LayoutParams WMLP = getWindow().getAttributes();
WMLP.screenBrightness = 0.15F;
getWindow().setAttributes(WMLP);

使用上述代码的优点是,仅在调用它的活动中影响屏幕亮度。因此,当我转移到某个其他活动(或)退出应用程序时,手机的默认亮度(由用户设置)将恢复。

编辑: 我忘了提到screenBrightness属性的范围是0.0 - 1.0

答案 1 :(得分:-1)

android.provider.Settings.System.putInt(getContentResolver(),                 Settings.System.DIM_SCREEN,time);时间以毫秒为单位。但是这个Settings.System.DIM_SCREEN被删除了。