应用中读取、设置屏幕亮度
package com.catcher.testcompass;import android.app.Activity;import android.os.Bundle;import android.provider.Settings;import android.provider.Settings.SettingNotFoundException;import android.provider.Settings.System;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class ThreeActivity extends Activity { private EditText etBrightness; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); etBrightness = (EditText) findViewById(R.id.editText1); } public void getBrightness(View view){ Toast.makeText(this, "亮度="+getScreenBrightness(), Toast.LENGTH_SHORT).show(); } public void setBrightness(View view){ int brightness=Integer.parseInt(etBrightness.getText().toString()); if (brightness>255) { etBrightness.setError("不能超过255"); return; } setScreenBrightness(brightness); } public void setScreenBrightness(int brightness){ //如果是自动调整亮度则先换成手动调整再设置亮度 try { if (Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC==Settings.System.getInt(getContentResolver(), System.SCREEN_BRIGHTNESS_MODE)) { Settings.System.putInt(getContentResolver(), System.SCREEN_BRIGHTNESS_MODE,System.SCREEN_BRIGHTNESS_MODE_MANUAL); } } catch (SettingNotFoundException e) { e.printStackTrace(); } Settings.System.putInt(getContentResolver(), System.SCREEN_BRIGHTNESS, brightness); } public int getScreenBrightness(){ int brightness=-1; try { brightness=Settings.System.getInt(getContentResolver(), System.SCREEN_BRIGHTNESS); } catch (SettingNotFoundException e) { e.printStackTrace(); } return brightness; }}
AndroidManifest.xml还需要添加权限
布局文件
其中 android:keepScreenOn="true" 可以保持屏幕常量。