use*_*854 13 settings android system brightness
我正在使用以下设置系统自动亮度模式和级别:
    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);
我可以打开和关闭自动brighess,并设置不同的级别.设置似乎正确应用 - 我可以进入设置 - >显示 - >亮度,并且无论何时设置我设置实际上是正确显示.但是,实际屏幕不会改变其亮度.如果我只是点击"显示设置"中的滑块,则会应用所有内容.
我提到我正在运行一个主要活动的应用程序,这些设置正在BroadcastReceiver中应用.我确实尝试创建一个虚拟活动并测试那里的东西,但得到了相同的结果.
use*_*854 16
好的,在这里找到答案: 从小部件刷新显示?
基本上,必须制作一个处理亮度变化的透明活动.帖子中没有提到的是你必须这样做:
Settings.System.putInt(y.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE, 0);
Settings.System.putInt(y.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS, brightnessLevel); 
然后做
WindowManager.LayoutParams lp = getWindow().getAttributes();
    lp.screenBrightness = brightness; 
    getWindow().setAttributes(lp);
如果在应用更改后立即调用finish(),亮度将永远不会实际更改,因为必须在应用亮度设置之前创建布局.所以我最终创建了一个300ms延迟的线程,然后调用finish().
| 归档时间: | 
 | 
| 查看次数: | 14896 次 | 
| 最近记录: |