【Android】安卓调节屏幕亮度

首先需要申请WRITE_SETTINGS权限,在清单文件里面注册;

 <uses-permission android:name="android.permission.WRITE_SETTINGS" />

这个权限有些特殊,代码如下:
需要注意的时,下面的代码需要判断系统的版本大于23,才可以

private static final int REQUEST_CODE_WRITE_SETTINGS = 1;
private void requestWriteSettings() { 
    Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
    intent.setData(Uri.parse("package:" + getPackageName())); 
    startActivityForResult(intent, REQUEST_CODE_WRITE_SETTINGS );
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {      
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_WRITE_SETTINGS) {
        if (Settings.System.canWrite(this)) {
            Log.i(LOGTAG, "onActivityResult write settings granted" );
        }
    }
}

在用户允许之后,通过下面的代码:

// 获取系统亮度

Settings.System.getInt(getContentResolver(), 
Settings.System.SCREEN_BRIGHTNESS);

// 设置系统亮度

Settings.System.putInt(getContentResolver(), 
Settings.System.SCREEN_BRIGHTNESS,systemBrightness);

其中,需要注意的是,返回的亮度值是处于0-255之间的整型数值。

// 获取系统亮度模式

Settings.System.getInt(getContentResolver(), 
Settings.System.SCREEN_BRIGHTNESS_MODE);

// 设置系统亮度模式

Settings.System.putInt(getContentResolver(), 
Settings.System.SCREEN_BRIGHTNESS_MODE, systemMode);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容