Version | Anpassungen |
---|---|
1.0 (2020-01-25) | Initiale Version |
1.1 (2020-03-07) | Hilfe-URL korrigiert |
1.2 (2024-09-04) | Angepasst an Android 14 |
Für ein zukünftiges Projekt möchte ich ein Smartphone fernsteuern, d.h. ich habe keinen direkten Zugriff auf das Gerät. Für dieses Projekt möchte ich mich über den Ladezustand des Akkus informieren. Das Smartphone soll durch eine mit dem App Inventor erstellte App kontrolliert werden. Leider gibt es dort keine entsprechenden Funktionen. Aber man kann sie durch eine selbst erstellte Extension zur Verfügung stellen.
Das ZIP-Archiv UrsAI2Battery zum Download. Das Archiv enthält den Quellcode, das kompilierte Binary zum Upload in den App Inventor und eine Beispiel-Anwendung.
Die Extension stellt eine Reihe von Eigenschaften zur Verfügung, die Auskunft über den Akku-Zustand geben. Nicht alle Werte sind auf allen Smartphone-Typen verfügbar. In diesem Fall werden klar erkennbare Fehlerwerte zurück geliefert.
Block | Typ | Funktion | Fehlerwert |
---|---|---|---|
Integer | Liefert die Restkapazität des Akkus in Prozent. | -1 | |
Integer | Liefert die Restladung des Akkus in mAh. | -1 | |
Integer | Liefert die Restenergie des Akkus in mWh. Kann ggf. aus Spannung und Restladung abgeschätzt werden. |
-1 | |
Integer | Liefert die aktuelle Akkuspannung in mV. | -1 | |
Integer | Liefert die aktuelle Stromaufnahme in mA. Ein positiver Wert ist der Entladestrom, ein negativer Wert der Ladestrom. |
-99999 | |
Integer | Liefert die durchschnittliche Stromaufnahme in mA. Ein positiver Wert ist der Entladestrom, ein negativer Wert der Ladestrom. Der Zeitraum, über den der Durchschnitt berechnet wird, kann von der Hardware und ihrer Konfiguration abhängen. |
-99999 | |
Boolean | Gibt an, ob der Akku aktuell geladen wird. | false |
Eine kleine Beispiel-App zeigt die Verwendung der Extension (s. Download).
Man sieht, dass einige Features bei dem Testgerät nicht unterstützt werden.
Für die Erstellung eigener Extensions habe ich einige Tipps zusammengestellt: AI2 FAQ: Extensions entwickeln.