setScreenMode(Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); // 手动调节屏幕亮度
final String[] bgLight = new String[] {"暗","稍暗","标准","稍亮","亮"};
Dialog alertDialog3 = new AlertDialog.Builder(MainActivity.this)
.setTitle("调整屏幕亮度")
.setSingleChoiceItems(bgLight, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
selectedBrightness = which;
}
}).
setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int brightness = 0;
switch(selectedBrightness)
{
case 0:brightness = 10; break;
case 1:brightness = 40; break;
case 2:brightness = 75; break;
case 3:brightness = 110; break;
case 4:brightness = 140; break;
default:brightness = 75;
}
setScreenBrightness(brightness);
saveScreenBrightness(brightness);
}
}).
setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}).
create();
alertDialog3.show();
/**
* 设置当前屏幕亮度的模式
* SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度
* SCREEN_BRIGHTNESS_MODE_MANUAL=0 为手动调节屏幕亮度
*/
private void setScreenMode(int paramInt){
try{
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, paramInt);
}catch (Exception localException){
localException.printStackTrace();
}
}
/**
* 设置当前屏幕亮度值 0--255
*/
private void setScreenBrightness(int paramInt){
//Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, paramInt);
//paramInt = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, -1);
WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();
float f = paramInt / 255.0F;
localLayoutParams.screenBrightness = f;
getWindow().setAttributes(localLayoutParams);
}
/**
* 保存当前屏幕亮度值 0--255
*/
private void saveScreenBrightness(int paramInt){
try{
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, paramInt);
}
catch (Exception localException){
localException.printStackTrace();
}
}
参考链接: