我想以编程方式更改系统亮度.为此我使用此代码:
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = (255);
window.setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
因为我听说最大值是255.
但它什么都没做.请建议任何可以改变亮度的东西.谢谢
我正在搜索如何以编程方式更改屏幕的亮度,我发现这是一个非常好的解决方案,它工作得很好,但它只在我的应用程序处于活动状态时才有效.我的应用程序关闭后,亮度返回与我启动应用程序之前相同的值.
我希望能够改变亮度就像我从电源小部件按下亮度按钮一样.在来自android的电源小部件中有3个状态.一个非常明亮的一个非常黑暗,一个介于两者之间 是否有可能像有人按下这个小部件一样改变亮度?

编辑1:我创建了这个,我添加了permision到我的清单但是当应用程序启动时我没有看到亮度有任何变化,我尝试使用10和100,现在有200但没有任何改变任何建议?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
android.provider.Settings.System.putInt(this.getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS, 200);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用以下设置系统自动亮度模式和级别:
android.provider.Settings.System.putInt(y.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE, 0);
android.provider.Settings.System.putInt(y.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS, y.brightness1);
Run Code Online (Sandbox Code Playgroud)
我可以打开和关闭自动brighess,并设置不同的级别.设置似乎正确应用 - 我可以进入设置 - >显示 - >亮度,并且无论何时设置我设置实际上是正确显示.但是,实际屏幕不会改变其亮度.如果我只是点击"显示设置"中的滑块,则会应用所有内容.
我提到我正在运行一个主要活动的应用程序,这些设置正在BroadcastReceiver中应用.我确实尝试创建一个虚拟活动并测试那里的东西,但得到了相同的结果.
我想根据光线改变屏幕的亮度..
我找到了获取亮度级别和设置亮度的链接.
但我想根据周围的光线改变亮度.总之,我想做与自动亮度相同的工作.
如何检测周围光线?或者我可以触发自动亮度功能??
亮度的值范围在0到255之间.我想根据周围的亮度设置亮度等级,不能是0到255.如何获得这两者之间的比例.
需要帮助.谢谢