確保在設置屏幕亮度之前未啓用「自動亮度」。如果您使用的是Android 2.2或更高版本的SDK,則可以在設置>顯示或使用代碼中手動執行此操作。
是這樣的:
int brightnessMode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
}
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = 0.5F; // set 50% brightness
getWindow().setAttributes(layoutParams);
確保值是0.0F和1.0F之間。值-1.0F使用首選項中存儲的默認亮度。根據文檔「小於0的值,默認值,意味着使用首選的屏幕亮度,0到1將亮度從暗調整爲全亮。」
只是注意,當你粘貼到你的這IDE,它抱怨'Settings.system ....'確保你的項目設置爲使用atleast android v 2.3.3,否則它不會編譯:) – Garbit 2012-02-10 14:08:20