Passe deine App an, indem du verstehst, was Nutzer tun

Mobilgeräte sind für viele von vielen zu einem Teil des täglichen Lebens geworden. Ihre Nutzer haben ihr Smartphone immer dabei, während sie fahren, spazieren gehen, trainieren, arbeiten oder spielen.

Wenn du weißt, was Nutzer in der realen Welt tun, kannst du besser mit deiner App interagieren. Wenn eine App z. B. den Herzschlag eines Nutzers aufzeichnen kann, sobald sie läuft, kann eine andere App in den Automodus wechseln, wenn er erkennt, dass der Nutzer mit dem Fahren begonnen hat.

Die Activity Recognition API basiert auf den Sensoren eines Geräts. Gerätesensoren geben Aufschluss darüber, was Nutzer gerade tun. Es gibt jedoch Dutzende Signale von mehreren Sensoren und leichte Abweichungen bei der Art und Weise, wie Nutzer etwas tun.

Die Activity Recognition API erkennt Aktivitäten automatisch, indem sie in regelmäßigen Abständen umfangreiche Sensordaten ausliest und sie mithilfe von Modellen für maschinelles Lernen verarbeitet. Zur Optimierung von Ressourcen kann die API die Aktivitätsberichte beenden, wenn das Gerät noch eine Weile inaktiv ist. Wenn er Bewegungen erkennt, wird die Berichterstellung mit niedrigem Energieverbrauch fortgesetzt.

Informationen zu Aktivitäten mit minimalen Ressourcen erhalten

Einige Apps möchten wissen, wann ein Nutzer eine bestimmte Aktivität startet oder beendet. So könnte beispielsweise eine Kilometer-Tracking-App damit beginnen, Meilen zu erfassen, wenn ein Nutzer losfährt, oder eine Messaging-App könnte alle Konversationen stumm schalten, bis der Nutzer aufhört, zu fahren.

Die Activity Recognition Transition API ermöglicht diese Szenarien, indem die komplexe Aufgabe ausgeführt wird, die mit der Erkennung von Änderungen der Nutzeraktivität verbunden ist. Deine App hat einen Übergang bei relevanten Aktivitäten abonniert und die API benachrichtigt deine App nur bei Bedarf. Sie müssen keine komplexe Heuristik implementieren, um zu erkennen, wann eine Aktivität beginnt oder endet.

Die Activity Recognition API sendet ihre Ergebnisse an einen Callback, der normalerweise als IntentService in deiner App implementiert ist. Die Ergebnisse werden in von dir festgelegten Intervallen bereitgestellt. Alternativ kann deine App die von anderen Clients angeforderten Ergebnisse verwenden, ohne dass zusätzliche Energie verbraucht wird.

Mithilfe eines PendingIntent können Sie festlegen, wie die API Ergebnisse liefern soll. Dadurch muss im Hintergrund der Aktivitätserkennung kein Dienst ständig im Hintergrund ausgeführt werden. Deine App empfängt die entsprechenden Intents von der API, extrahiert die erkannten Aktivitäten und entscheidet, ob eine Aktion ausgeführt werden soll. Wenn der Dienst nur beim Empfang einer Aktivität aufgerufen wird, bleiben Ressourcen wie der Arbeitsspeicher erhalten.

Die Activity Recognition API übernimmt den Großteil der Arbeit, indem es die Signale des Geräts verarbeitet, um die aktuellen Aktivitäten zu identifizieren. Deine App erhält eine Liste der erkannten Aktivitäten, die jeweils die Properties confidence und type enthalten.

Die Eigenschaft confidence gibt die Wahrscheinlichkeit an, mit der der Nutzer die im Ergebnis dargestellte Aktivität ausführt. Die Property type stellt die erkannte Aktivität des Geräts in Bezug auf Entitäten in der realen Welt dar, z. B. auf dem Fahrrad oder auf dem Gerät eines Nutzers.