Mon autre copain David Poulin m’a fait découvrir ce matin la classe DeviceStatus et ma vie a changée ! En creusant un peu j’ai découvert comment je pouvais créer une application bio qui fait attention à l’utilisation de la batterie !
DeviceStatus, mais comment pouvait-on faire plus simple (dès Windows Phone 7.1) : DeviceStatus sur MSDN
PowerSource
Cette propriété nous permet de connaître simplement le type d’alimentation de notre cher Windows Phone, c’est à dire lorsque l’on est alimenté via la prise USB et là c’est la fête on pousser mémère (enfin notre application) à fond ou lorsque l’on est sur batterie. Ainsi grâce à l’évènement PowerSourceChanged notre application peut être averti du changement de source :
public MainPage() { InitializeComponent(); this.Loaded += MainPage_Loaded; } void MainPage_Loaded(object sender, RoutedEventArgs e) { DeviceStatus.PowerSourceChanged += DeviceStatus_PowerSourceChanged; } void DeviceStatus_PowerSourceChanged(object sender, EventArgs e) { Dispatcher.BeginInvoke(() => { if (DeviceStatus.PowerSource == PowerSource.Battery) { MessageBox.Show("On est sur batterie"); } else { MessageBox.Show("On est connecté à l'USB"); } }); }
Alors ça c’est tout bon jusque Windows 7.x. Windows Phone 8.0 peut encore aller plus loin ! Oui vous avez bien entendu, une révolution ce dernier : Accrochez vous car avec PowerManager, et bien on envoi mémère se coucher !
PowerManager
Avec la class PowerManager (ça arrache comme nom vous trouvez pas ?) on peut connaître si l’économie d’énergie du smartphone est active ou pas aussi simplement que ça :
void MainPage_Loaded(object sender, RoutedEventArgs e) { Windows.Phone.System.Power.PowerManager.PowerSavingModeChanged += PowerManager_PowerSavingModeChanged; } private void PowerManager_PowerSavingModeChanged(object sender, object e) { Dispatcher.BeginInvoke(() => { if (PowerManager.PowerSavingMode == PowerSavingMode.On) { MessageBox.Show("Economie d'énergie activée"); } else { MessageBox.Show("Economie d'énergie désactivé"); } }); }
Voilà, on a de quoi faire attention à la dépense énergétique du smartphone de utilisateur et pouvoir développer avec un verre :
Une réflexion sur « Développer vert sur Windows Phone en C# »