【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);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。