此API只适合2.1以上版本:
/**
* 判断是否开启了自动亮度调节
*
* @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;
}
/**
* 设置亮度
*
* @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);
}
/**
* 停止自动亮度调节
*
* @param activity
*/
public static void stopAutoBrightness(Activity activity) {
Settings.System.putInt(activity.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
}
/**
* 开启亮度自动调节
*
* @param activity
*/
public static void startAutoBrightness(Activity activity) {
Settings.System.putInt(activity.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
}
/**
* 保存亮度设置状态
*
* @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"
/>
您想快速达成您的目标和实现梦想吗?请加QQ:673220883每天为您提供了大量励志,视频,销售,管理等-经典文章,免费学习。此QQ空间已改变了千万人的命运。陈安之和您一起开始您的梦想之旅!
精彩分享:如果你现在没有目标,对未来很迷茫、来看下
精彩分享:俞洪敏:一辈子只做一件事
不要想太多
精彩分享:男人的这一百个秘密,我不说你一辈子也不可能知道!
精彩分享:人临终前最遗憾的25件事,别让这些遗憾
变成你的遗憾
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
以下将详细介绍如何获取和设置Activity的亮度,并讨论与Android屏幕亮度相关的操作技巧。 首先,我们要知道Android系统提供了多种接口来管理屏幕亮度。在2.1及以上版本中,可以通过`Settings.System`类来访问系统...
Android提供了一个名为`WindowManager.LayoutParams`的类,其中包含了`screenBrightness`属性,用于设置窗口(应用)的亮度。这个属性的取值范围是0.0到1.0之间,0.0表示全黑,1.0表示最大亮度。我们可以通过获取...
本文将深入探讨如何在Android中改变App的亮度而不会干扰系统的亮度设置,并通过一个实例来说明具体的实现步骤。 首先,了解Android中的亮度管理机制。Android系统提供了`WindowManager.LayoutParams`类,它包含了...
// 获取当前亮度并设置到SeekBar int currentBrightness = (int) Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, -1); seekBarBrightness.setProgress(currentBrightness); ...
接着,我们定义了一个`updateToggles()`方法,用于初始化`Seekbar`并设置其初始亮度。在这个方法中,我们获取当前系统的屏幕亮度值,然后将这个值作为`Seekbar`的进度。这通过调用`Settings.System.getInt()`方法...
通过获取到当前Activity的Window对象,我们可以访问其LayoutParams并设置`screenBrightness`属性。这个属性的值范围是0(全黑)到1(全亮),也可以使用百分比形式,例如`100/255f`表示100%亮度。 2. **动态权限...
首先,获取当前亮度值,然后根据滑动距离计算新的亮度值,并使用`Settings.System.putInt()`方法进行设置。 ```java int currentBrightness = Settings.System.getInt(contentResolver, Settings.System.SCREEN_...
在这个例子中,`onScroll`方法接收滑动事件的参数,计算出新的亮度值,并使用`WindowManager.LayoutParams`设置屏幕亮度。注意,我们需要确保`GestureDetector`在触摸事件中被启用,这可以通过在Activity的`...
通过获取当前Activity的Window对象,可以设置LayoutParams的screenBrightness属性来改变屏幕亮度。这个属性接受一个0.0到1.0之间的浮点数,代表亮度相对于最大亮度的比例。 3. 电源管理服务(PowerManager): ...
你需要调用`Settings.System.getInt(ContentResolver, String)`来获取当前亮度值,并使用`Settings.System.putInt(ContentResolver, String, int)`来设置新的亮度值。 3. **触摸事件处理**:滑动屏幕调整亮度通常...
2. 在Activity中初始化`SeekBar`并设置监听器: ```java SeekBar seekBar = findViewById(R.id.seekBar_brightness); seekBar.setMax(255); // 设置最大值为255 seekBar.setOnSeekBarChangeListener(new SeekBar....
接着,你需要获取Camera服务的实例,并调用其`Parameters`对象,找到支持闪光灯的参数设置,如`FlashMode_ON`,然后设置这个参数并启动相机服务来开启手电筒。关闭手电筒时,只需将闪光灯模式设置为关闭。 接下来是...
1. **检查系统亮度并设置Seekbar** 在`onCreate()`方法中,我们需要检查当前系统的亮度模式,确保它不是自动模式,而是手动模式。这可以通过访问`Settings.System.SCREEN_BRIGHTNESS_MODE`来完成。如果当前是自动...
通过获取Activity的Window对象,然后调用`getWindow().getAttributes()`获取`WindowManager.LayoutParams`实例,接着设置`screenBrightness`属性为0.0到1.0之间的浮点值。默认情况下,窗口亮度会跟随系统亮度变化,...
这段代码使用WindowManager.LayoutParams来设置当前Activity的屏幕亮度。 六、开启关闭自动亮度调节 开启关闭自动亮度调节可以使用以下代码: ```java public static boolean autoBrightness(Context activity, ...
在Android开发中,Activity是应用程序的基本构建块,它充当用户界面的主要容器。Activity可以包含各种控件,如按钮、文本框、图像视图等,这些控件为用户提供交互功能并展示信息。本主题将深入探讨Android Activity...