Maison > Java > javaDidacticiel > Comment récupérer le niveau et l'état de la batterie sous Android ?

Comment récupérer le niveau et l'état de la batterie sous Android ?

DDD
Libérer: 2024-10-29 20:57:29
original
493 Les gens l'ont consulté

How to Retrieve Battery Level and State in Android?

Obtenir des informations sur la batterie dans Android : niveau et état

L'accès aux informations relatives à la batterie est crucial pour développer des applications Android économes en énergie et conviviales. Ce guide explique comment récupérer le niveau et l'état de la batterie à l'aide de la classe BatteryManager.

Comprendre la classe BatteryManager

BatteryManager est un service système qui permet d'accéder aux informations sur la batterie. Bien qu'il ne dispose pas de méthodes explicites, il propose une collection de constantes qui représentent les propriétés liées à la batterie. Ces propriétés peuvent être utilisées pour interroger l'état actuel de la batterie.

Récupération du pourcentage de niveau de batterie

À partir du niveau API 21 (Lollipop), vous pouvez facilement obtenir le niveau de la batterie sous forme de valeur en pourcentage :

<code class="java">BatteryManager bm = (BatteryManager) context.getSystemService(BATTERY_SERVICE);
int batLevel = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);</code>
Copier après la connexion

La méthode getIntProperty() prend une constante de propriété et renvoie la valeur entière correspondante. Dans ce cas, BATTERY_PROPERTY_CAPACITY fournit le niveau de la batterie en pourcentage.

Détermination de l'état de la batterie

Le BatteryManager fournit également plusieurs constantes qui représentent différents états de la batterie :

  • BATTERY_HEALTH_UNKNOWN
  • BATTERY_HEALTH_GOOD
  • BATTERY_HEALTH_OVERHEAT
  • BATTERY_HEALTH_DEAD
  • BATTERY_STATUS_DISCHARGING
  • BAT TERY_STATUS_NOT_CHARGING
  • BATTERY_STATUS_CHARGING
  • BATTERY_STATUS_FULL

Pour déterminer l'état actuel de la batterie, utilisez la méthode getIntentExtra() avec une constante BATTERY_STATUS_ ou BATTERY_HEALTH_ :

<code class="java">Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);</code>
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal