Heim >Java >javaLernprogramm >Wie kann ich die Bildschirmhelligkeit auf Android programmgesteuert anpassen?
Systemhelligkeit programmgesteuert ändern
Um die Helligkeit des Bildschirms Ihres Geräts programmgesteuert anzupassen, können Sie verschiedene Ansätze verwenden. Eine gängige Methode ist die Handhabung der Bildschirmhelligkeitsattribute:
<code class="java">WindowManager.LayoutParams lp = window.getAttributes(); lp.screenBrightness = (float)brightness; window.setAttributes(lp);</code>
Diese Technik funktioniert jedoch möglicherweise aufgrund möglicher Einschränkungen oder falscher Maximalwerteinstellungen nicht immer.
Ein alternativer Ansatz ist die Hebelwirkung die Systemeinstellungen und 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>
Sie können dann die Helligkeit anpassen:
<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>
Vergessen Sie nicht, die erforderliche Berechtigung in Ihr Manifest aufzunehmen:
<code class="xml"><uses-permission android:name="android.permission.WRITE_SETTINGS" /></code>
Für API-Level 23 und höher müssen Sie die Erlaubnis über die Aktivität „Einstellungen“ anfordern, wie in der Dokumentation beschrieben.
Das obige ist der detaillierte Inhalt vonWie kann ich die Bildschirmhelligkeit auf Android programmgesteuert anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!