安卓 2.2 : Adjusting screen brightness

标签 android screen brightness

    public void SetBright(float value) 
{
    Window mywindow = getWindow();

    WindowManager.LayoutParams lp = mywindow.getAttributes();

            lp.screenBrightness = value;

            mywindow.setAttributes(lp);
}

我想调整屏幕亮度。但是当我尝试使用这种方法时没有任何反应。会不会是因为我使用了 KEEP_SCREEN_ON 标志?

最佳答案

确保在设置屏幕亮度之前未启用“自动亮度”。如果您使用的是 Android 2.2 或更高版本的 SDK,您可以在设置 > 显示或使用代码中手动执行此操作。

类似于:

int brightnessMode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
    Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
}

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = 0.5F; // set 50% brightness
getWindow().setAttributes(layoutParams);

确保该值介于 0.0F 和 1.0F 之间。值 -1.0F 使用首选项中存储的默认亮度。根据文档“默认值小于 0 表示使用首选屏幕亮度。0 到 1 将亮度从暗调整到全亮。”

关于安卓 2.2 : Adjusting screen brightness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4621490/

相关文章:

Jquery:点击切换类,但也取决于屏幕大小

android - 在 Android 上处理同一类别的不同屏幕尺寸的最佳方法

iphone - 更改屏幕亮度,就像 iBook 一样

windows-phone-7 - WP7下如何防止屏幕变暗?

android - 是否可以使用不同的程序包名称发布同一应用程序?

自上次更新到版本 1.4 以来的 Android Studio 错误

ios - 如何旋转屏幕, `var shouldAutorotate` 返回 false

image - 在 Flutter 中可以知道图片的亮度吗?

android - 使用 MediaCodec 在 Android 上使用 H264 数据解码 RTP 流

java - 回收器适配器不显示数据