Heim  >  Artikel  >  Java  >  Wie kann ich die Systemhelligkeit in Android programmgesteuert anpassen?

Wie kann ich die Systemhelligkeit in Android programmgesteuert anpassen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-25 02:56:29285Durchsuche

How to Programmatically Adjust System Brightness in Android?

Systemhelligkeit programmgesteuert anpassen

Obwohl das screenBrightness-Attribut der Fensterlayoutparameter eingestellt ist, wird keine Änderung der Helligkeit beobachtet. Dieses Problem erfordert die Erforschung alternativer Methoden zur programmgesteuerten Änderung der Systemhelligkeit.

Lösung:

Um die Systemhelligkeit effektiv anzupassen, beachten Sie die folgenden Schritte:

  1. Deklarieren Sie die folgenden Instanzvariablen in Ihrer Aktivitätsklasse:

    private int brightness;
    private ContentResolver cResolver;
    private Window window;
  2. Rufen Sie innerhalb der onCreate-Methode den Inhaltslöser, die Fensterreferenz und die aktuelle Systemhelligkeit ab :

    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
    }
  3. Implementieren Sie einen Mechanismus zur Überwachung von Helligkeitsänderungen (z. B. einen SeekBar-Listener).
  4. Stellen Sie beim Anpassen der Helligkeit die Systemhelligkeit mithilfe der aktualisierten ein Helligkeitsvariable und aktualisieren Sie die Fensterattribute:

    Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
    
    LayoutParams layoutpars = window.getAttributes();
    layoutpars.screenBrightness = brightness / 255f;
    window.setAttributes(layoutpars);
  5. Vergessen Sie nicht, die erforderliche Berechtigung in der Datei AndroidManifest.xml zu deklarieren:

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

Hinweis:

Für API-Ebenen größer oder gleich 23 (Android 6.0 Marshmallow) müssen Sie die WRITE_SETTINGS-Berechtigung über eine Einstellungsaktivität oder über die Aktivität anfordern Kompatibilitätsbibliothek (ActivityCompat).

Das obige ist der detaillierte Inhalt vonWie kann ich die Systemhelligkeit in Android programmgesteuert anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn