Android亮度刷新不工作

Android亮度刷新不工作,android,Android,设置新亮度后,我的屏幕不刷新。我在谷歌上搜索,尝试了一些东西,我做错了什么 public class Brightness extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.brightness); setResult(RES

设置新亮度后,我的屏幕不刷新。我在谷歌上搜索,尝试了一些东西,我做错了什么

public class  Brightness  extends  Activity { 

@Override

public void onCreate(Bundle savedInstanceState) {  

    super.onCreate(savedInstanceState);

    setContentView(R.layout.brightness); 
    setResult(RESULT_OK);
    Button low = (Button)findViewById(R.id.low);

     low.setOnClickListener( new Button.OnClickListener() 
     {
            public void   onClick(View arg0)
            {
                setUp(100);

    }});
     Button medium = (Button)findViewById(R.id.medium);
     medium.setOnClickListener( new Button.OnClickListener()
     {
            public void   onClick(View arg0)
            {
                setUp(200);

    }});
     Button high = (Button)findViewById(R.id.high);
     high.setOnClickListener( new Button.OnClickListener()
     {
            public void   onClick(View arg0)
            {
                setUp(255);

    }});         
}
    public void setUp(int SysBackLightValue)
    {
        android.provider.Settings.System.putInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS,  SysBackLightValue);
        WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
        layoutParams.screenBrightness = SysBackLightValue;
        getWindow().setAttributes(layoutParams);
        finish();
    }
}
这就是它调用Brightness.java的活动

if (resultCode == Activity.RESULT_OK && requestCode == 10)
    {
        Log.i("login", "In ActivityRedult My screen brightness is ");
        try 
        {
            oldBrightness = android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS);
            WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
            layoutParams.screenBrightness = oldBrightness;
            getWindow().setAttributes(layoutParams);
                    } 
        catch (SettingNotFoundException e1) 
        {
            Log.i("login", "CATCH My screen brightness is " + e1.toString());
            e1.printStackTrace();
        }            
    }
}

我不记得这样做的原因,但是有两种设置亮度的方法,它们在不同的时间使用(或者可能由不同的api支持)

下面是我的代码的一部分,我在市场上使用我的应用程序Super Dimmer(为您的情况进行了重构)。请尝试改用以下代码:

oldBrightness = Settings.System.getInt(this.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
Settings.System.putInt(this.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, oldBrightness);    
WindowManager.LayoutParams llayoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = (float) (oldBrightness/ 255.0);
getWindow().setAttributes(layoutParams);

我认为不同之处在于您缺少putInt()。另外,您的屏幕是否始终保持全亮度?我可能错了,但在我的应用程序中,当我设置layoutParams属性时,我将其除以255,它就像一个符咒一样工作。

你真是个天才!由255提供的数据也为我工作!!谢谢