【问题标题】:How to retrieve current system Screen brightness value in android?如何在android中检索当前系统屏幕亮度值?
【发布时间】:2012-08-17 06:21:28
【问题描述】:

我正在尝试创建一个以编程方式设置安卓设备亮度的应用程序。我已经设法使用以下代码更改设备亮度:

BackLightValue = (float)arg1/100;
BackLightSetting.setText(String.valueOf(BackLightValue));

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = BackLightValue;
getWindow().setAttributes(layoutParams);

我已使用以下代码检索当前系统亮度值:

try {
    BackLightValue = android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS);
} catch(Exception e) {}

上面的代码应该给我当前的亮度设置值,但是当我启动一个应用程序时,它显示的默认值是 50%。

出了什么问题?

【问题讨论】:

    标签: android brightness


    【解决方案1】:

    这是正确的行为,因为将 screenBrightness 设置为 -1 会将亮度设置为当前系统亮度级别。

    int curBrightnessValue = android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS,-1);
    

    Manifest 文件中的权限。

    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    

    【讨论】:

    • 好吧,你不需要权限就可以拨打getInt()。仅当您想致电putInt() 时才需要它
    猜你喜欢
    • 2011-10-06
    • 2012-07-31
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多