美文网首页
【Android】安卓调节屏幕亮度

【Android】安卓调节屏幕亮度

作者: 李翾 | 来源:发表于2017-12-22 17:56 被阅读0次

    首先需要申请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);
    

    相关文章

      网友评论

          本文标题:【Android】安卓调节屏幕亮度

          本文链接:https://www.haomeiwen.com/subject/trexgxtx.html