Android設定システム輝度


この2,3日需要に出会って、SeekBarスライドを通じてシステムの明るさを変えて、ネット上で何回も資料を探して、やっと書きました.だからこの部分のコードを貼って、みんなに参考にすることにしました.象を冷蔵庫に詰めるには数歩かかります.はい、3歩1、1歩目、リストファイルに権限を入れます.
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

6.0以下で直接使用できますが、6.0以上では権限申請が必要ですので、ここでは後述しません
2、システムの現在の明るさを取得する方法この方法は、単一のシステム設定値を容易に取得するためであり、値は整数である.内部設定値は常に文字列として格納されることに注意してください.この関数はデフォルトで文字列を整数に変換します.この設定がないか、文字列の値が数値でない場合は、SettingNotFoundException例外を放出します.
        try {
            int currentBrightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
        } catch (Settings.SettingNotFoundException e) {

        }

Androidでは、wifi、Bluetoothステータス、現在のネイティブ言語、画面輝度など、settingsアプリケーションで多くのシステム属性が設定されています.これらのデータは主にデータベースに格納されます.
3、システムの現在の明るさを変更する方法単一の整数設定値を更新するのに便利です.内部設定値は常に文字列として保存されるので、この関数は与えられた値を文字列記憶に変換する前に注意してください.
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 15);//       15,       0-255

次に、フルコードサンプルレイアウトファイルを示します.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_system_light"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.dao_li.myapplication.socketTest.SystemLightActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="        "
        android:textSize="20sp" />


    <SeekBar
        android:id="@+id/seekbar_light"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:layout_marginTop="20dp"
        android:max="255" />

    <TextView
        android:id="@+id/tv_light_value"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp" />

LinearLayout>

Activityコード
package com.dao_li.myapplication.socketTest;

import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.support.v7.app.AppCompatActivity;
import android.widget.SeekBar;
import android.widget.TextView;

import com.dao_li.myapplication.R;

import butterknife.Bind;
import butterknife.ButterKnife;

public class SystemLightActivity extends AppCompatActivity {

    @Bind(R.id.seekbar_light)
    SeekBar seekbarLight;
    @Bind(R.id.tv_light_value)
    TextView tvLightValue;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_system_light);
        ButterKnife.bind(this);

        initView();
        initSystemLight();
    }

    private void initView() {
        //     
        seekbarLight.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onProgressChanged(SeekBar seekBar,
                                          int progress, boolean fromUser) {

                tvLightValue.setText("   :" + progress);
                Uri uri = Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS);
                Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, progress);
                getContentResolver().notifyChange(uri, null);

            }
        });
    }

    private void initSystemLight() {
        int currentBrightness = 0;
        try {
            currentBrightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
        } catch (Settings.SettingNotFoundException e) {

        }
        seekbarLight.setProgress(currentBrightness);
        tvLightValue.setText("   :" + currentBrightness + "");

    }
}

はい、象は冷蔵庫に完全に詰め込まれています.