L'une des fonctions les plus utiles de la version Android 5.0 Lollipop est qu'il indique le temps qu'il reste pour que le chargement soit terminé. Comment détermine-t-on le temps nécessaire pour que l'appareil soit complètement chargé ?
Réponses
Trop de publicités?- Conformément au document de formation Contrôle du niveau de la batterie et de l'état de charge Déterminer le niveau actuel de la batterie La section décrit une méthode qui, je suppose, est implémentée dans le système d'exploitation et mesurée périodiquement (très probablement à chaque changement de 1% du niveau de la batterie).
Vous pouvez connaître la charge actuelle de la batterie en extrayant le niveau actuel de la batterie et l'échelle de l'intention de l'é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;
- Une fois que vous connaissez le niveau actuel et le temps nécessaire pour atteindre ce niveau, je suppose que le temps de charge complète est stocké dans la mémoire ROM (je ne sais pas comment et où), il ne reste plus qu'à extrapoler.
注意してください: Il s'agit d'une supposition éclairée et nous serions heureux de recevoir des commentaires.
Pour parler franchement ? Disons que vous chargez de 0 à 100 %. Il calculerait le temps nécessaire pour charger une certaine quantité (comme 1 %, par exemple). En réalité, il s'agit d'un chiffre beaucoup plus petit que cela) et utiliserait ensuite les mathématiques pour calculer le temps nécessaire pour atteindre 100 % (c'est-à-dire le temps qu'il a fallu à ce 1 % x 100). En réalité, il effectue constamment ce calcul pendant que vous chargez, ce qui permet de conserver un temps précis.
Cependant, de nombreux facteurs peuvent influer sur la durée de chargement de notre pourcentage. Une charge via USB est plus lente que via une prise, et jouer à un jeu ou regarder des vidéos de chats drôles sur YouTube en 1080p va vraiment ralentir la vitesse de charge.