5 votes

Comment le système d'exploitation Android estime-t-il l'autonomie restante de la batterie ?

Sait-on comment le système d'exploitation Android estime le temps jusqu'à la panne / la charge restante de la batterie ? Je réalise un projet scolaire sur l'estimation de la batterie des appareils mobiles, mais je n'ai pu trouver aucune information sur les techniques utilisées dans le secteur.

Plusieurs personnes ont écrit des articles sur la façon dont le temps avant défaillance peut être estimé sur un appareil Android, mais je n'ai pas été en mesure de trouver des informations officielles sur la façon dont cela est réellement fait.

La réponse optimale que j'aimerais avoir est un lien vers un article scientifique ou une spécification technique qui le décrit.

2voto

Dans le API il est décrit que le pourcentage de la batterie est calculé en divisant le niveau actuel par le niveau maximum. Ceci peut être vu dans la citation ci-dessous.

Cela m'amène à penser que BatteryManager.EXTRA_LEVEL est soit mesuré en Milli ampères heure (mAh) soit une valeur entre 0 et 100 . Il s'agit d'une approche simple et non de la réponse que j'espérais trouver, mais c'est tout de même une réponse. Maintenant, j'ai juste besoin d'une source officielle qui donne la réponse :)

Déterminer le niveau actuel de la batterie

Dans certains cas, il est également utile de déterminer le niveau actuel de la batterie. Vous pouvez choisir de réduire le taux de vos mises à jour en arrière-plan si la charge de la batterie est inférieure à un certain certain niveau.

Vous pouvez trouver la charge actuelle de la batterie en extrayant le courant en extrayant le niveau et l'échelle de la batterie à partir de l'intention d'état de la batterie, comme indiqué ici :

int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);

int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

float batteryPct = level / (float)scale;

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X