Maison > Java > javaDidacticiel > le corps du texte

Comment ajuster par programme la luminosité du système sous Android ?

Barbara Streisand
Libérer: 2024-10-25 02:56:29
original
362 Les gens l'ont consulté

How to Programmatically Adjust System Brightness in Android?

Ajustement de la luminosité du système par programmation

Malgré la définition de l'attribut screenBrightness des paramètres de disposition de la fenêtre, aucun changement de luminosité n'est observé. Ce problème incite à explorer des méthodes alternatives pour modifier par programmation la luminosité du système.

Solution :

Pour régler efficacement la luminosité du système, envisagez les étapes suivantes :

  1. Déclarez les variables d'instance suivantes dans votre classe d'activité :

    private int brightness;
    private ContentResolver cResolver;
    private Window window;
    Copier après la connexion
  2. Dans la méthode onCreate, récupérez le résolveur de contenu, la référence de la fenêtre et la luminosité actuelle du système :

    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
    }
    Copier après la connexion
  3. Implémentez un mécanisme pour surveiller les changements de luminosité (par exemple, un écouteur SeekBar).
  4. Lors du réglage de la luminosité, réglez la luminosité du système à l'aide de la mise à jour variable de luminosité et mettez à jour les attributs de la fenêtre :

    Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
    
    LayoutParams layoutpars = window.getAttributes();
    layoutpars.screenBrightness = brightness / 255f;
    window.setAttributes(layoutpars);
    Copier après la connexion
  5. N'oubliez pas de déclarer l'autorisation nécessaire dans le fichier AndroidManifest.xml :

    <code class="xml"><uses-permission android:name="android.permission.WRITE_SETTINGS" /></code>
    Copier après la connexion

Remarque :

Pour les niveaux d'API supérieurs ou égaux à 23 (Android 6.0 Marshmallow), vous devrez demander l'autorisation WRITE_SETTINGS via une activité de paramètres ou via l'activité. Bibliothèque de compatibilité (ActivityCompat).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal