易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Android获取并设置Activity的亮度
此API只适合Android 2.1以上版本:
[java]
/**
* 判断是否开启了自动亮度调节
*
* @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进行亮度控制:
[java]
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);
[html]
<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"
/>
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图