Ste*_*ini 7 settings android android-settings
我在设置屏幕亮度方面遇到了麻烦.为此,我使用以下代码:
Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
Run Code Online (Sandbox Code Playgroud)
其中brightness的值介于0到255之间.
问题是,在某些设备中它可以工作(Htc One,Nexus 5,......),在其他设备中不行!例如,如果我使用此功能在三星设备中设置屏幕亮度,屏幕不会变得更亮或更暗,如果我进入"通知面板"(从屏幕顶部向下滑动),我可以看到亮度级别改变.
有没有人知道如何设置适用于所有Android设备的亮度?有没有人知道为什么它在某些设备上有效,但在其他设备中呢?
UPDATE 1:
此方法用于BroadcastReceiver,因此没有活动!
您可以覆盖当前窗口的亮度,而不是更改亮度设置。
WindowManager.LayoutParams lp = getWindow().getAttributes();
if (overrideBrightness)
lp.screenBrightness = BRIGHTNESS_OVERRIDE_FULL;
else
lp.screenBrightness = BRIGHTNESS_OVERRIDE_NONE;
getWindow().setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2531 次 |
| 最近记录: |