L'obtention de la batterie valeurs actuelles pour le Téléphone Android
Je suis en train de recueillir des power-statistiques d'utilisation pour Android G1 Téléphone. Je suis intéressé à connaître les valeurs de Tension et de Courant, et puis en mesure de recueillir des statistiques comme indiqué dans ce PDF.
Je suis en mesure d'obtenir la valeur de la tension de la Batterie grâce à l'enregistrement d'une intention récepteur pour recevoir la Diffusion de ACTION_BATTERY_CHANGED. Mais le problème est que Android n'est pas d'exposer la valeur du courant grâce à ce kit d'interface.
Un chemin j'ai essayé via sysfs interface, où je peut voir la batterie courant de la valeur de la commande adb shell, à l'aide de la commande suivante
$cat /sys/class/power_supply/battery/batt_current
449
Mais il ne fonctionne que si le téléphone est connecté via l'interface USB. Si je déconnecte le téléphone, je vois la valeur de batt_current "0". Je ne suis pas sûr pourquoi, la valeur du courant déclarés est égal à zéro. Il doit être supérieure à zéro, non?
Toute suggestion /pointeurs pour obtenir la valeur actuelle de la batterie? Aussi s'il vous plaît corrigez-moi si je me trompe.
- Vous pourriez vouloir regarder la présentation pour que sur YouTube. J'y étais, et je me souviens de M. Sharkey mentionné quelque chose à propos d'avoir un matériel spécial pour ces mesures.
- Ici un exemple de code que vous pouvez essayer.
- Merci pour le lien, je suis en utilisant la même fonction pour lire la Tension de la Batterie. Mais Android n'expose pas la valeur du courant à travers cette interface. Donc, si vous connaissez déjà un peu de solution de contournement à noyau / couche inférieure laissez-moi savoir.
- Ouais, il mentionne à la fin de la présentation que de la prise de mesure est à faire via le matériel électronique, les logiciels ne peuvent pas aider. Savez-vous exactement comment l'sysfs interface fonctionne et, si possible, pouvons-nous emporter données à partir de ce. Merci pour de me pointer à la vidéo.
- salut @Chintan Parikh, avez-vous trouvé une bonne solution pour obtenir la valeur actuelle? Il y a une Application peut obtenir la valeur actuelle mais je ne sais pas comment ça fonctionne. play.google.com/store/apps/details?id=com.gombosdev.ampere
- En fait, il semble à lire les données à partir de ces fichiers.
Vous devez vous connecter pour publier un commentaire.
On pouvait regarder le code source pour le Widget en cours. Il est codé en dur chemin à l'endroit où certaines plates-formes de stocker les valeurs actuelles.
API 21 partir, nous pouvons obtenir un instantané de la batterie actuelle en µa, comme un nombre entier. Développeur docs
À l'aide de mBatteryManager vous pouvez obtenir le courant instantané de la lecture.
Appareil de mesure de la Puissance et de la lecture de la consommation d'énergie et les propriétés disponibles sur les appareils NEXUS. Android open source docs
à l'aide de cette fonction obtenir la Tension de la Température Actuelle dans tous les appareils.
dans le OnCreate de s'inscrire diffusion récepteur
et de créer Récepteur de Radiodiffusion
Après plusieurs expériences et aider à partir de divers autres groupes, j'ai découvert qu'il n'existe aucun moyen d'obtenir de la Batterie Actuelle valeur par le biais du logiciel seul (qu'il ne soit pas pris en charge dans le h/w). Seul moyen que j'ai trouvé était de mesurer le courant circulant dans la batterie au moyen du multimètre.
j'ai trouvé ce code sur Intel développeur android site
essayer ce code,peut être qu'il serait de l'aide totale pour vous:
dans la classe principale de ce registre à l'aide de:
La plupart des batteries utiliser le courant de la batterie pour déterminer le % de, même si c'est rarement disponible pour les développeurs!
Aurait besoin d'un noyau modifié sur ces appareils.
Cela est vrai pour le Galaxy S2 qui ont des puces mesurer le flux de courant! Mais c'est "désactivé" dans le noyau. Sens elle est retirée de la sysfs interface et utilisées uniquement en interne par la batterie.
Néanmoins, vous pouvez essayer l'application Battery Monitor Widget de Marché, il prend en charge de nombreux téléphones et d'estimer les mA de courant lorsqu'il n'est pas disponible. Soutien pour les nouveaux téléphones et les méthodes sont ajoutés sur une base régulière afin d'améliorer les lectures.
Sur le Galaxy Nexus, le courant de la puce a été complètement enlevé la batterie utilise une technologie avancée de calcul pour déterminer le %, qui n'ont pas besoin des données actuelles. Les résultats, c'est que le téléphone n'a pas une courbe d'apprentissage (
Pour Batterie Courant % de charge, vous pouvez utiliser les éléments suivants