从android小部件更改系统设置

时间:2010-04-12 22:36:32

标签: android settings system widget

我有一个更改某些系统设置的小部件,但它不会立即生效。好像我需要刷新它的系统设置。如何从即时拍摄的小部件中更改某些系统设置?

当按下我的小部件时,它会转到具有空白背景的活动以更改系统设置。其中一个更改的设置是显示亮度。这是我用来改变显示亮度的代码。一旦我更改设置,我调用完成功能退出活动,所以我不会在设置更改后卡在那里。我注意到的一件事是,如果我没有退出活动,设置确实改变了,但我被困在活动中。它当我添加class.this.finish();退出设置不会更改的活动。

android.provider.Settings.System.putInt(getContentResolver(),android.provider.Settings.System.SCREEN_BRIGHTNESS, brightness); // 0-255 
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = brightness / 255.0f;
getWindow().setAttributes(lp);

2 个答案:

答案 0 :(得分:3)

找到了答案,我正在快速退出活动。出于某种原因,我需要延迟退出几百毫秒,以便进行更改。

答案 1 :(得分:1)

在SDK中看不到调整系统亮度的真正方法。您拥有的代码非常好 - 设置将在下次重启时生效,screenBrightness设置将影响当前活动。