Systemhelligkeit programmgesteuert ändern
Erster Versuch und Problem:
Sie haben versucht, die Systemhelligkeit programmgesteuert zu ändern, indem Sie Folgendes verwendet haben:
<code class="java">WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = (255);
window.setAttributes(lp);</code>
Nach dem Login kopieren
Diese Methode hat sich jedoch als unwirksam erwiesen.
Lösung:
Um die Systemhelligkeit erfolgreich zu ändern, sollten Sie den folgenden Ansatz anwenden :
-
Variablen initialisieren:
- Deklarieren Sie eine Variable, um den gewünschten Helligkeitswert (z. B. Helligkeit) zu speichern.
- Erstellen Sie ein ContentResolver-Handle, um auf Systemeinstellungen zuzugreifen (z. B. cResolver).
- Erhalten Sie einen Verweis auf das aktuelle Fensterobjekt (z. B. window).
-
Helligkeitseinstellungen verwalten:
- Stellen Sie den Bildschirmhelligkeitsmodus auf manuell ein, um die automatische Helligkeit zu deaktivieren (z. B. Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL).
- Holen Sie sich die aktuelle Helligkeitsstufe: Helligkeit = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS).
-
Helligkeit aktualisieren:
- Stellen Sie die Systemhelligkeit mithilfe der angepassten Helligkeitsvariablen ein: Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, Helligkeit).
- Ändern Sie die Fensterattribute, um sie an die neue Helligkeit anzupassen: window.getAttributes ().screenBrightness = Helligkeit / 255f.
- Änderungen auf das Fenster anwenden: window.setAttributes(window.getAttributes()).
-
Manifest-Berechtigung:
- Fügen Sie die WRITE_SETTINGS-Berechtigung zu Ihrer AndroidManifest.xml hinzu.
-
Zusätzliche Überlegungen:
- Für Android-API-Level >= 23 müssen Sie möglicherweise die WRITE_SETTINGS-Berechtigung über eine Aktivitätsaufforderung anfordern.
Das obige ist der detaillierte Inhalt vonWie kann ich die Systemhelligkeit auf Android programmgesteuert anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!