android 화면 밝기 설정 두 가지 방식

5804 단어 android 개발
현재의 일부 시스템의 밝기를 설정하는 글에서 일반적인 상황은 어떻게 밝기를 설정하는 방식을 말했지만 근본적으로 이 기능을 향상시키려면 몇 가지 주의해야 한다.
우선 시스템에 자동 밝기라는 설정이 있기 때문에 먼저 자동 모드를 수동 모드로 바꾸어야만 시스템의 설정으로 조정할 수 있다.
그렇다면 많은 말은 하지 않겠습니다. 여러분은 일반적인 상황이 해결되었다는 것을 알고 코드를 바로 올리세요.
/**
 *          
 * @param context
 * @param brightness
 */
private void setLight(Activity context, int brightness) {
    WindowManager.LayoutParams lp = context.getWindow().getAttributes();
    lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f);
    context.getWindow().setAttributes(lp);
}


/**
 *         
 * @param activity
 * @param brightness
 */
public void saveBrightness(Activity activity, int brightness) {
    //                   
    setBrightnessMode(activity,Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);

    ContentResolver contentResolver = activity.getContentResolver();
    Uri uri = Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS);
    Settings.System.putInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
    activity.getContentResolver().notifyChange(uri, null);
}

/**
 *            
 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1          
 * SCREEN_BRIGHTNESS_MODE_MANUAL=0          
 */
public static void setBrightnessMode(Activity activity, int brightMode) {
    Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, brightMode);
}

일반적으로 호출할 때 시스템에 설정을 쓸 때 수동 밝기를 먼저 설정해야 한다
또한 사용 권한 테이블에 사용 권한을 추가하는 것도 잊지 마십시오.
android:name="android.permission.WRITE_SETTINGS" />

that's all , thx!

좋은 웹페이지 즐겨찾기