XAML- Kolumne: WPF und Windows-Apps

XAML-Tipp: Zugriff auf Batterieinformationen von UWP-Apps
Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „Universal-Windows-Apps: Zugriff auf Batterieinformationen“.

Führt die eigene App leistungsstarke Operationen aus, wäre es unschön, wenn sich das mobile Gerät unerwartet abschaltet. Im schlimmsten Fall könnte die App ihre Arbeit nicht komplett fertigstellen. Es wird daher empfohlen, den Benutzer darüber zu informieren, dass er für bestimmte Funktionalitäten mehr Akkuleistung benötigt.

Universal-Windows-Apps: Batterieinformationen abrufen

Der Zugriff auf die Batterieinformationen ist problemlos über die Battery-Klasse aus dem Namespace Windows.Devices.Power möglich. Diese stellt einen kompletten BatteryReport mit der GetReport-Methode zur Verfügung. Ist das Status-Property auf den Wert Idle gesetzt, wird das Gerät gerade über einen Netzstecker betrieben und der Akku ist zu 100 Prozent aufgeladen. Wird der Akku aktuell über einen Netzstecker aufgeladen, erhalten wir den Wert Charging. Läuft das Gerät hingegen über den Akku, wird Discharging angezeigt.

Die BatteryReport-Klasse bietet zudem noch folgende Properties an: DesignCapacityInMilliwattHours, FullChargeCapacityInMilliwattHours und RemainingCapacityInMilliwattHours. Ist gar kein Akku vorhanden, wird uns Null angezeigt. Wie zum Beispiel automatisch auf Batterieänderungen reagiert werden kann, zeigt Listing 1 mit dem ReportUpdated-Event.

Listing 1: Auf Änderungen des Batteriestatus reagieren
Battery.AggregateBattery.ReportUpdated += BatteryReportUpdated;

private async void BatteryReportUpdated(Battery sender, object args)

{

await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>;

{

.var batteryReport = sender.AggregateBattery.GetReport();

...

});

}
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -