2013-01-25 50 views
0

我得到255级的亮度时自动亮度是在我的手机(HTC HD所需(2.3.3))亮度总是返回255时,自动亮度是在Android的

我的代码

int value = Settings.System.getInt(c.getContentResolver(), 
       Settings.System.SCREEN_BRIGHTNESS); 

如何在自动亮度打开时获得亮度级别。

TRYED

我试过了,得到亮度之前,我设置manual模式。但当我将模式设置为manual时获得0亮度。

Settings.System.putInt(getContentResolver(), 
       Settings.System.SCREEN_BRIGHTNESS, 
       Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); 

如何获得亮度级别,当我的手机有自动亮度是on

帮助!!谢谢。

+0

看通过不同的密钥:http://stackoverflow.com/a/9367983/1484779 – jlopez

回答

0
WindowManager.LayoutParams oLayOutParam = use from an activity getWindow().getAttributes(); 

oLayOutParam.screenBrightness是亮度的值。

+0

我可以在我的活动正在运行时执行此操作。实际上我实施了服务,您可以通过摇晃来改变亮度。我无法从服务中获得窗口。 'WindowManager.LayoutParams oLayOutParam = getWindow()。getAttributes();'将返回浮动。这对活动本身是有限的。一旦活动完成,它将被回滚。 –

+0

您可以随时从服务开始活动,然后在您读取亮度后立即完成活动,也可以使用上述API设置亮度。 – android2013

+0

类似的线程http://stackoverflow.com/questions/5032588/cant-apply-system-screen-brightness-programmatically-in-android你需要有透明的活动。 – android2013

1

需要在自动亮度的情况下

float brightness = android.provider.Settings.System.getInt(getContentResolver(), 
        "screen_auto_brightness_adj"); 

它应该在这个答案返回值从-1到+1

+0

有没有这样的设置在Android 5(棒棒糖),所以它抛出一个例外。它在'Settings.System'中也没有被列为常量。你确定它有效吗? – Antek