Java 向android应用程序添加屏幕亮度控制

Java 向android应用程序添加屏幕亮度控制,java,android,Java,Android,我想在我的应用程序菜单中添加一些控件来本地调整屏幕亮度,但似乎不知道该怎么做。我已经看到了最大或变暗亮度的示例,但我希望添加控件,以便用户可以控制和设置亮度级别。有没有人有任何示例、教程、源代码,或者只是给我指出正确方向的地方?声称这是可行的,但我没有尝试过: WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.screenBrightness = 100 / 100.0f; getWindow().setAttribu

我想在我的应用程序菜单中添加一些控件来本地调整屏幕亮度,但似乎不知道该怎么做。我已经看到了最大或变暗亮度的示例,但我希望添加控件,以便用户可以控制和设置亮度级别。有没有人有任何示例、教程、源代码,或者只是给我指出正确方向的地方?

声称这是可行的,但我没有尝试过:

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

这是一个类似的答案

唯一的区别是,您需要将屏幕亮度成员与用户界面控件的值联系起来


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

您可以这样更改用户的亮度设置(请确保在清单中声明写入设置的权限)


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

这在活动中起作用……知道如何从小部件中执行吗?Android 2.0的电源管理器小部件可以做到这一点。我希望能够从我的小部件中执行此操作。请注意,在某些情况下它可能不起作用:
android.provider.Settings.System.putInt(getContentResolver(), 
                        android.provider.Settings.System.SCREEN_BRIGHTNESS, brightpref);