Maison >Java >javaDidacticiel >Comment ajuster par programme la luminosité de l'écran sur Android ?
Modifier par programme la luminosité du système
Pour régler la luminosité de l'écran de votre appareil par programme, vous pouvez utiliser différentes approches. Une méthode courante consiste à gérer les attributs de luminosité de l'écran :
<code class="java">WindowManager.LayoutParams lp = window.getAttributes(); lp.screenBrightness = (float)brightness; window.setAttributes(lp);</code>
Cependant, cette technique peut ne pas toujours fonctionner en raison de limitations potentielles ou de paramètres de valeur maximale incorrects.
Une approche alternative consiste à exploiter les paramètres système et 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>
Vous pouvez ensuite régler la luminosité :
<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>
N'oubliez pas d'inclure l'autorisation nécessaire dans votre manifeste :
<code class="xml"><uses-permission android:name="android.permission.WRITE_SETTINGS" /></code>
Pour l'API de niveau 23 et supérieur, vous devez demander l'autorisation via l'activité des paramètres comme décrit dans la documentation.
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!