无法正确调暗屏幕

时间:2012-08-31 04:53:04

标签: android

我正在尝试向用户显示祝酒,并在5秒后将屏幕调暗至其最低亮度。但屏幕并没有暗淡。我的代码中有错吗?请帮忙。

代码:

private void DimScreen()
    {
            Toast.makeText(StartActivity.this, "Dimming screen in 5 seconds, press Stop button to turn on the screen", Toast.LENGTH_SHORT).show();
            handler.postDelayed(r, 5000);
    }

private Handler handler= new Handler();
    private Runnable r = new Runnable()
    {
        public void run()
        {
            WindowManager.LayoutParams lp = getWindow().getAttributes();
            lp.screenBrightness=0.01f;
            getWindow().setAttributes(lp);  

        }
    };

1 个答案:

答案 0 :(得分:0)

你在Manifest中获得了正确的权限吗?

你应该有这个:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

如果仍然无效,您可能需要使用以下代码:

android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS, SysBackLightValue);

请参阅:http://android-er.blogspot.tw/2011/02/change-system-screen-brightness-using.html

另外,我不确定你能否在UI线程之外做到这一点......如果最终成为问题,你可以使用runOnUiThread