Heim > Java > javaLernprogramm > Hauptteil

Wie kann ich die Systemhelligkeit in Android programmgesteuert anpassen?

Barbara Streisand
Freigeben: 2024-10-25 02:56:29
Original
368 Leute haben es durchsucht

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;
    Nach dem Login kopieren
  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
    }
    Nach dem Login kopieren
  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);
    Nach dem Login kopieren
  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>
    Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage