프로그래밍 방식으로 시스템 밝기 조정
창 레이아웃 매개변수의 screenBrightness 속성을 설정해도 밝기 변화는 관찰되지 않습니다. 이 문제는 시스템 밝기를 프로그래밍 방식으로 변경하는 대체 방법을 모색하게 합니다.
해결책:
시스템 밝기를 효과적으로 조정하려면 다음 단계를 고려하십시오.
활동 클래스에서 다음 인스턴스 변수를 선언합니다.
private int brightness; private ContentResolver cResolver; private Window window;
onCreate 메서드 내에서 콘텐츠 확인자, 창 참조 및 현재 시스템 밝기를 검색합니다. :
cResolver = getContentResolver(); window = getWindow(); try { Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); brightness = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS); } catch (SettingNotFoundException e) { // Handle the error gracefully }
밝기를 조정할 때 업데이트된 밝기 변수 및 창 속성 업데이트:
Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness); LayoutParams layoutpars = window.getAttributes(); layoutpars.screenBrightness = brightness / 255f; window.setAttributes(layoutpars);
AndroidManifest.xml 파일에서 필요한 권한을 선언하는 것을 잊지 마세요:
<code class="xml"><uses-permission android:name="android.permission.WRITE_SETTINGS" /></code>
참고:
API 레벨 23 이상(Android 6.0 Marshmallow)의 경우 설정 활동 또는 활동을 통해 WRITE_SETTINGS 권한을 요청해야 합니다. 호환성 라이브러리(ActivityCompat).
위 내용은 Android에서 시스템 밝기를 프로그래밍 방식으로 조정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!