Android編程獲取并設(shè)置Activity亮度的方法
本文實例講述了Android編程獲取并設(shè)置Activity亮度的方法。分享給大家供大家參考,具體如下:
此API只適合2.1以上版本:
/**
* 判斷是否開啟了自動亮度調(diào)節(jié)
*
* @param aContext
* @return
*/
public static boolean isAutoBrightness(ContentResolver aContentResolver) {
boolean automicBrightness = false;
try {
automicBrightness = Settings.System.getInt(aContentResolver,
Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
} catch (SettingNotFoundException e) {
e.printStackTrace();
}
return automicBrightness;
}
/**
* 獲取屏幕的亮度
*
* @param activity
* @return
*/
public static int getScreenBrightness(Activity activity) {
int nowBrightnessValue = 0;
ContentResolver resolver = activity.getContentResolver();
try {
nowBrightnessValue = android.provider.Settings.System.getInt(
resolver, Settings.System.SCREEN_BRIGHTNESS);
} catch (Exception e) {
e.printStackTrace();
}
return nowBrightnessValue;
}
/**
* 設(shè)置亮度
*
* @param activity
* @param brightness
*/
public static void setBrightness(Activity activity, int brightness) {
// Settings.System.putInt(activity.getContentResolver(),
// Settings.System.SCREEN_BRIGHTNESS_MODE,
// Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f);
activity.getWindow().setAttributes(lp);
}
/**
* 停止自動亮度調(diào)節(jié)
*
* @param activity
*/
public static void stopAutoBrightness(Activity activity) {
Settings.System.putInt(activity.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
}
/**
* 開啟亮度自動調(diào)節(jié)
*
* @param activity
*/
public static void startAutoBrightness(Activity activity) {
Settings.System.putInt(activity.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
}
/**
* 保存亮度設(shè)置狀態(tài)
*
* @param resolver
* @param brightness
*/
public static void saveBrightness(ContentResolver resolver, int brightness) {
Uri uri = android.provider.Settings.System
.getUriFor("screen_brightness");
android.provider.Settings.System.putInt(resolver, "screen_brightness",
brightness);
resolver.notifyChange(uri, null);
}
使用SeekBar進行亮度控制:
sSeekBar = (SeekBar) findViewById(R.id.seek_bar);
sSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
if (progress < 10) {
} else {
setBrightness(Test2Activity.this, progress);
}
}
});
//獲取當前亮度的位置
int a =getScreenBrightness(this);
sSeekBar.setProgress(a);
<SeekBar android:id="@+id/seek_bar" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:max="255" android:maxHeight="8dp" android:minHeight="8dp" android:paddingBottom="5dp" android:paddingLeft="13dp" android:paddingRight="13dp" android:progress="0" />
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android入門之Activity四種啟動模式(standard、singleTop、singleTask、singleInstance)
- Android Activity啟動模式之singleTop實例詳解
- Android Activity啟動模式之standard實例詳解
- Android Activity中onStart()和onResume()的區(qū)別分析
- Android的Activity加載方式實例分析
- Android編程之四種Activity加載模式分析
- Android編程開發(fā)之TextView單擊鏈接彈出Activity的方法
- Android編程四大組件之Activity用法實例分析
- 深入解讀Android開發(fā)中Activity的生命周期
- Android Activity啟動模式之singleTask實例詳解
相關(guān)文章
Android編程入門之HelloWorld項目目錄結(jié)構(gòu)分析
這篇文章主要介紹了Android編程入門之HelloWorld項目目錄結(jié)構(gòu)分析,較為詳細的分析了Android項目的目錄結(jié)構(gòu)與具體作用,需要的朋友可以參考下2015-12-12
Android應(yīng)用開發(fā)的版本更新檢測升級功能實現(xiàn)示例
本文對Android版本更新的知識做全面的總結(jié),主要包括開發(fā)中版本的設(shè)置,如何檢測本程序的版本,版本的更新判斷和顯示,新版本程序的安裝2022-04-04
Android填坑系列:在小米系列等機型上放開定位權(quán)限后的定位請求彈框示例
本文詳細介紹了在小米系列等機型上放開定位權(quán)限后的定位請求彈框示例,例如在應(yīng)用軟件中提示顯示定位服務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-11-11
Android 媒體庫數(shù)據(jù)更新方法總結(jié)
這篇文章主要介紹了Android 媒體庫數(shù)據(jù)更新方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-04-04
學(xué)習(xí)使用Material Design控件(三)使用CardView實現(xiàn)卡片效果
這篇文章主要為大家介紹了學(xué)習(xí)使用Material Design控件的詳細教程,如何使用CardView實現(xiàn)卡片效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
Android List(集合)中的對象以某一個字段排序案例
這篇文章主要介紹了Android List(集合)中的對象以某一個字段排序案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

