android应用中读取屏幕亮度、设置屏幕亮度、保持屏幕常量
应用中读取、设置屏幕亮度
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还需要添加权限
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:keepScreenOn="true" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/editText1" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:ems="10" android:hint="请输入0-255的整数" android:inputType="number" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="setBrightness" android:text="设置亮度" /> </LinearLayout> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="getBrightness" android:text="显示亮度" /> </LinearLayout>
其中 android:keepScreenOn="true" 可以保持屏幕常量。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。