>Java >java지도 시간 >Android에서 프로그래밍 방식으로 화면 밝기를 조정하는 방법은 무엇입니까?

Android에서 프로그래밍 방식으로 화면 밝기를 조정하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-25 06:31:02417검색

How to Programmatically Adjust Screen Brightness on Android?

프로그래밍 방식으로 시스템 밝기 수정

장치 화면의 밝기를 프로그래밍 방식으로 조정하려면 다양한 접근 방식을 활용할 수 있습니다. 한 가지 일반적인 방법은 화면 밝기 속성을 처리하는 것입니다.

<code class="java">WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = (float)brightness;
window.setAttributes(lp);</code>

그러나 이 기술은 잠재적인 제한이나 잘못된 최대 값 설정으로 인해 항상 작동하지 않을 수도 있습니다.

대체 접근 방식은 다음을 활용하는 것입니다. 시스템 설정 및 ContentResolver:

<code class="java">private ContentResolver cResolver;
private Window window;
private int brightness;

onCreate() {
    cResolver = getContentResolver();
    window = getWindow();

    try {
        // Handle auto brightness mode
        Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
        // Retrieve current brightness
        brightness = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS);
    } catch (SettingNotFoundException e) {
        Log.e("Error", "Cannot access system brightness");
        e.printStackTrace();
    }
}</code>

그런 다음 밝기를 조정할 수 있습니다:

<code class="java">// Update system brightness
Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);

// Update window brightness attributes
LayoutParams layoutpars = window.getAttributes();
layoutpars.screenBrightness = brightness / 255f;
window.setAttributes(layoutpars);</code>

매니페스트에 필요한 권한을 포함하는 것을 잊지 마세요:

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

API 레벨 23 이상에서는 설명서에 설명된 대로 설정 활동을 통해 권한을 요청해야 합니다.

위 내용은 Android에서 프로그래밍 방식으로 화면 밝기를 조정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.