【问题标题】:Adding screen brightness controls to android application将屏幕亮度控制添加到 android 应用程序
【发布时间】:2009-11-24 16:46:52
【问题描述】:

我希望在我的应用菜单中添加控件以在本地调整屏幕亮度,但似乎无法弄清楚如何做到这一点。我已经看到了最大化或调暗亮度的示例,但我希望添加控件,以便用户可以控制和设置亮度级别。有没有人有任何示例、教程、源代码,或者只是一个地方可以为我指明正确的方向?

【问题讨论】:

    标签: java android


    【解决方案1】:

    The internet 声称这有效,但我还没有尝试过:

    WindowManager.LayoutParams lp = getWindow().getAttributes();
    lp.screenBrightness = 100 / 100.0f;
    getWindow().setAttributes(lp);
    

    【讨论】:

    • 这适用于活动...知道如何从小部件中做到这一点吗? Android 2.0 的电源管理器小部件可以做到这一点。我希望能够从我的小部件中做到这一点。
    • 请注意,在某些情况下它可能不起作用:stackoverflow.com/questions/4611287/…
    【解决方案2】:

    您可以像这样更改用户的亮度设置(确保您在清单中声明了对 WRITE_SETTINGS 的权限)

    android.provider.Settings.System.putInt(getContentResolver(), 
                            android.provider.Settings.System.SCREEN_BRIGHTNESS, brightpref);
    

    文档将该设置称为 0 到 255。我试图弄清楚它是否会在 0 时关闭屏幕,因为有一次我安装了一个带有滑块的小部件,而您会导致屏幕关闭如果您将其设置为 0。

    【讨论】:

      【解决方案3】:

      这是由类似的question 回答的。

      唯一的区别是您需要将 screenBrightness 成员与用户界面控件的值联系起来。

      请注意,这在具有自动调光传感器的设备上可能无法正常工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-23
        • 2012-12-22
        • 1970-01-01
        • 2013-02-14
        • 2015-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多