`
dawuafang
  • 浏览: 1159483 次
文章分类
社区版块
存档分类
最新评论

Android获取并设置Activity的亮度

 
阅读更多

此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件事,别让这些遗憾 变成你的遗憾



版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    Android编程获取并设置Activity亮度的方法

    以下将详细介绍如何获取和设置Activity的亮度,并讨论与Android屏幕亮度相关的操作技巧。 首先,我们要知道Android系统提供了多种接口来管理屏幕亮度。在2.1及以上版本中,可以通过`Settings.System`类来访问系统...

    Android 调节屏幕亮度(当前应用和系统亮度)

    Android提供了一个名为`WindowManager.LayoutParams`的类,其中包含了`screenBrightness`属性,用于设置窗口(应用)的亮度。这个属性的取值范围是0.0到1.0之间,0.0表示全黑,1.0表示最大亮度。我们可以通过获取...

    android 改变app亮度不影响系统亮度(获取系统亮度)

    本文将深入探讨如何在Android中改变App的亮度而不会干扰系统的亮度设置,并通过一个实例来说明具体的实现步骤。 首先,了解Android中的亮度管理机制。Android系统提供了`WindowManager.LayoutParams`类,它包含了...

    android 实现调整系统屏幕亮度

    // 获取当前亮度并设置到SeekBar int currentBrightness = (int) Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, -1); seekBarBrightness.setProgress(currentBrightness); ...

    android系统亮度调节代码

    接着,我们定义了一个`updateToggles()`方法,用于初始化`Seekbar`并设置其初始亮度。在这个方法中,我们获取当前系统的屏幕亮度值,然后将这个值作为`Seekbar`的进度。这通过调用`Settings.System.getInt()`方法...

    Android 调整亮度

    通过获取到当前Activity的Window对象,我们可以访问其LayoutParams并设置`screenBrightness`属性。这个属性的值范围是0(全黑)到1(全亮),也可以使用百分比形式,例如`100/255f`表示100%亮度。 2. **动态权限...

    Android项目滑动屏幕调整屏幕亮度.rar

    首先,获取当前亮度值,然后根据滑动距离计算新的亮度值,并使用`Settings.System.putInt()`方法进行设置。 ```java int currentBrightness = Settings.System.getInt(contentResolver, Settings.System.SCREEN_...

    Android 播放电影时滑动屏幕调整屏幕亮度

    在这个例子中,`onScroll`方法接收滑动事件的参数,计算出新的亮度值,并使用`WindowManager.LayoutParams`设置屏幕亮度。注意,我们需要确保`GestureDetector`在触摸事件中被启用,这可以通过在Activity的`...

    安卓Android源码——滑动屏幕调整屏幕亮度.rar

    通过获取当前Activity的Window对象,可以设置LayoutParams的screenBrightness属性来改变屏幕亮度。这个属性接受一个0.0到1.0之间的浮点数,代表亮度相对于最大亮度的比例。 3. 电源管理服务(PowerManager): ...

    Android应用源码滑动屏幕调整屏幕亮度.zip

    你需要调用`Settings.System.getInt(ContentResolver, String)`来获取当前亮度值,并使用`Settings.System.putInt(ContentResolver, String, int)`来设置新的亮度值。 3. **触摸事件处理**:滑动屏幕调整亮度通常...

    android 屏幕亮度调节

    2. 在Activity中初始化`SeekBar`并设置监听器: ```java SeekBar seekBar = findViewById(R.id.seekBar_brightness); seekBar.setMax(255); // 设置最大值为255 seekBar.setOnSeekBarChangeListener(new SeekBar....

    android手电筒源码及屏幕颜色、亮度调节

    接着,你需要获取Camera服务的实例,并调用其`Parameters`对象,找到支持闪光灯的参数设置,如`FlashMode_ON`,然后设置这个参数并启动相机服务来开启手电筒。关闭手电筒时,只需将闪光灯模式设置为关闭。 接下来是...

    Android调节屏幕亮度实现代码

    1. **检查系统亮度并设置Seekbar** 在`onCreate()`方法中,我们需要检查当前系统的亮度模式,确保它不是自动模式,而是手动模式。这可以通过访问`Settings.System.SCREEN_BRIGHTNESS_MODE`来完成。如果当前是自动...

    Android亮度调节的几种实现方法

    通过获取Activity的Window对象,然后调用`getWindow().getAttributes()`获取`WindowManager.LayoutParams`实例,接着设置`screenBrightness`属性为0.0到1.0之间的浮点值。默认情况下,窗口亮度会跟随系统亮度变化,...

    Android开发实现调节屏幕亮度功能

    这段代码使用WindowManager.LayoutParams来设置当前Activity的屏幕亮度。 六、开启关闭自动亮度调节 开启关闭自动亮度调节可以使用以下代码: ```java public static boolean autoBrightness(Context activity, ...

    Android的Activity众多控件效果

    在Android开发中,Activity是应用程序的基本构建块,它充当用户界面的主要容器。Activity可以包含各种控件,如按钮、文本框、图像视图等,这些控件为用户提供交互功能并展示信息。本主题将深入探讨Android Activity...

Global site tag (gtag.js) - Google Analytics