package com.example.testkeylight;
import android.app.Activity;
import android.os.Bundle;
import android.provider.Settings.SettingNotFoundException;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
/**
* http://developer.android.com/reference/android/view/WindowManager.
* LayoutParams.html#BRIGHTNESS_OVERRIDE_OFF public static final float
* BRIGHTNESS_OVERRIDE_OFF
*
* Added in API level 8 Value for screenBrightness and buttonBrightness
* indicating that the screen or button backlight brightness should be set to
* the lowest value when this window is in front.
*
* Constant Value: 0.0
*
* @author sfshine 2013-4-27 下午3:40:32
*/
public class MainActivity extends Activity {
private Window win;
private LayoutParams winParams;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
win = getWindow();
winParams = win.getAttributes();
setLight();
}
public void openKeyLight(View view) {
winParams.buttonBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL;
win.setAttributes(winParams);
}
public void closeKeyLight(View view) {
winParams.buttonBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF;
win.setAttributes(winParams);
}
// 设置屏幕亮度
public void setLight() {
int curBrightnessValue = 100;
try {
curBrightnessValue = android.provider.Settings.System.getInt(
getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS);
} catch (SettingNotFoundException e) {
e.printStackTrace();
}
Log.e("TAG", curBrightnessValue + " ");
WindowManager.LayoutParams layoutParams = win.getAttributes();
layoutParams.screenBrightness = 0.01f; // 0 - 1 中间
// 但是似乎在0.01一下才能看出明显的屏幕变暗
win.setAttributes(layoutParams);
}
// 设置常亮
public void setAllLight() {
win.setFlags(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}