Gestion des informations sur la batterie de l'appareil avec Xamarin Essentials

Aujourd'hui, nous allons découvrir comment utiliser la batterie d'un appareil, y compris l'état de charge, la source d'alimentation et le mode d'économie d'énergie.
Bonjour ! J'espère que vous allez bien ! Dans cet article, nous allons découvrir la batterie de notre appareil avec Xamarin Essentials.
Imaginons le scénario suivant. Nous devons développer une exigence qui, en tant que point clé, doit exécuter un processus en fonction des points suivants :
🎯 L'état de charge de la batterie (si elle est en charge ou si elle est pleine)
🎯 La source d'alimentation de la batterie (USB , courant alternatif, entre autres)
🎯 Que ce soit en mode économie d'énergie ou non
En fonction de ces résultats, nous avons besoin d'un événement qui nous aide à exécuter notre action.
Un scénario comme celui-ci est quand Xamarin Essentials vient nous aider ! Nous pouvons découvrir tous les points ci-dessus et gérer l'événement en utilisant sa classe Battery. Voyons comment faire !
Que nous dit exactement la classe de batterie ?
La classe de batterie nous permet de connaître les informations de la batterie et d'identifier les changements qu'elle subit. Il fournit également des informations sur l'état d'économie d'énergie de l'appareil. Il est important de savoir que le dernier indique qu'il fournit de l'énergie en mode bas ; par conséquent, nous ne devons pas exécuter d'applications en arrière-plan lorsque cela se produit, ce qui contribue à maintenir nos intégrations aussi économiques que possible pour prolonger la durée de vie de la batterie.
🔧 Paramètres de la plate-forme
📗 Sur Android[19659003]Nous avons différentes manières de gérer les paramètres de la plate-forme. En voici quelques-uns :
- Ouvrez le AssemblyInfo.cs situé dans le dossier Properties et ajoutez le code suivant :
[assembly: UsesPermission(Android.Manifest.Permission.BatteryStats)]
- Ouvrez AndroidManifest.xml ➡ Autorisations requises ➡ Vérifiez BatteryStats option.
1 | Chargement | La batterie est en cours de charge par une source d'alimentation. |
2 | Décharge | La batterie n'est pas branchée et se décharge. |
3 | Pleine | La batterie est pleine. |
4 | NotCharging | La batterie ne se charge pas ou ne se décharge pas, mais est dans un entre l'état. |
5 | NotPresent | La batterie n'existe pas sur l'appareil. |
6 | Unknown | La batterie n'a pas pu être déterminée. |
🔧 Exemple de code :
var état = Batterie.État;
commutateur (état)
{[19659046]case BatteryState.Charge:
break;
case BatteryState.Full:
pause;
}
🧩 Sachant le niveau de batterie
Vous pouvez également connaître le niveau de votre batterie. Il obtient le niveau de charge actuel de l'appareil de 0,0 à 1,0 lorsqu'il est sur secteur ou sans batterie. Vous pouvez le faire avec l'exemple de code suivant.
var level = Battery.ChargeLevel;
🎯 Battery Power Source Information
Another La grande information de cette API étonnante est qu'elle nous permet d'obtenir des informations sur la source d'alimentation. Voici les sources possibles :
Voyons la description de chacun :
0 | Inconnu | La source d'alimentation ne peut pas être déterminée. |
1 | Batterie | La source d'alimentation est la batterie et elle n'est pas en charge. |
2 | AC | La source d'alimentation est un chargeur CA. (⚠ Sur iOS et UWP : seulement renverra AC ou Batterie pour PowerSource .) |
3 | Usb | La source d'alimentation est un port USB. |
4 | Sans fil | La source d'alimentation est sans fil. |
🔧 Exemple de code :
var source = Batterie.PowerSource;
commutateur (source)
{
case BatteryPowerSource .Usb:
break;
case BatteryPowerSource.Wireless:
break;
}[19659087]Déclenchement d'un événement lorsque les propriétés changent
Chaque fois que certaines des propriétés de la batterie changent, l'événement Battery_BatteryInfoChanged est déclenché dans lequel vous pouvez mettre en œuvre une action souhaitée.
public class[19659091]Test de la batterie[19659045]{
public Test de batterie()
{
Battery.BatteryInfoChanged += Battery_BatteryInfoChanged;
}
void Battery_BatteryInfoChanged]object([196599097], BatteryInfoChangedEventArgs e)
{
}
}
💪 Energy Saver Status
Normalement, les appareils ont un mode d'économie d'énergie qui est généralement activé automatiquement par avoir une charge de 20% sur la batterie. Voyons comment l'identifier et comment exécuter ou non des actions lorsqu'il est détecté. Comme nous l'avons vu au début de l'article, il est important de travailler pour que nos applications collaborent à l'économie de ressources une fois ce mode actif.
Vous obtenez l'état d'économie d'énergie actuel en utilisant la propriété Battery.EnergySaverStatus :
var status = Battery.EnergySaverStatus;
Il renvoie trois résultats qui nous aident à identifier l'état. Ils sont les suivants :
On EnergySaverStatus est activé. Off EnergySaverStatus est désactivé. Unknown EnergySaverStatus Unknown.
Et enfin, votre application doit avoir un gestionnaire d'événements . La classe Battery contient un événement qui est déclenché lorsque l'état de l'économiseur d'énergie change :
public class EnergySaverHelper
{
public EnergySaverHelper()[19659097]{
Battery.EnergySaverStatusChanged += OnEnergySaverStatusChanged;
}
privé void OnEnergySaver OnEnergySaverC )
{
var status = e.EnergySaverStatus;
}
}
Et c'est fait ! Votre application a les informations sur la batterie prêtes ! 💚
Merci d'avoir lu ! 💚💕
🔗 Référence : https://docs.microsoft.com/en-us/xamarin/essentials/battery?context=xamarin%2Fxamarin-forms&tabs=uwp
Voir vous la prochaine fois !
Source link