Google empfiehlt, in Apps, die standortbezogene Dienste erfordern, die Location and Context APIs in den Google Play-Diensten zu verwenden. Wenn Ihre App die Framework-Standort-APIs verwendet, sollten Sie zu den Google Play-Diensten migrieren, um die neuesten von Google bereitgestellten Funktionen nutzen zu können.
Die Verwendung der Google Play-Dienste ist aus folgenden Gründen die bevorzugte Option, um standortbezogene Dienste in Ihre App einzubinden:
- Google Play-Dienste bieten eine einfache Oberfläche und eine übersichtlichere API-Oberfläche.
- Sie geben die gewünschte Dienstqualität an und die APIs verwalten die zugrunde liegenden Technologien für Sie.
- Die Google Play-Dienste-APIs sind für Leistung und Akkunutzung optimiert.
- Die APIs der Google Play-Dienste werden aktiv gepflegt. Google verbessert die Algorithmen ständig und fügt weitere Funktionen hinzu.
App aktualisieren
In den folgenden Schritten wird beschrieben, wie Sie eine App aktualisieren, um die Location und Context APIs zu verwenden:
- Richten Sie die Google Play-Dienste in Ihrem Projekt ein.
- Verwenden Sie die Location Settings API, um die aktuellen Standorteinstellungen zu prüfen.
- Verwende die Google Play-Dienste für komplexe Funktionen wie Geofencing, Aktivitätserkennung und Awareness.
- Ersetzen Sie die Verwendung der Framework-Standort-API durch die Fused Location Provider API.
- Entfernen Sie Verweise auf die Framework-Standort-API.
Google Play-Dienste in Ihrem Projekt einrichten
Damit die Location und Context APIs für Ihr Projekt verfügbar sind, müssen Sie einen Verweis auf das Google Maven-Repository hinzufügen und eine Abhängigkeit zu den erforderlichen APIs deklarieren. Weitere Informationen finden Sie unter Google Play-Dienste einrichten.
API für Standorteinstellungen verwenden
Durch die Verwendung der Location Settings API stellen Apps die erforderliche QoS-Stufe bereit und die API fordert den Nutzer auf, die entsprechenden Änderungen an den Systemeinstellungen vorzunehmen. Führen Sie die folgenden Schritte aus, um die Standorteinstellungen API in Ihrer App zu verwenden:
- Fordern Sie im App-Manifest Berechtigungen zur Standortermittlung an.
- Richten Sie ein
LocationRequest-Objekt ein, das die gewünschte QoS-Stufe angibt. - Verwenden Sie die API für Standorteinstellungen, um die aktuellen Einstellungen zu prüfen.
Weitere Informationen finden Sie unter Standorteinstellungen ändern. Beispielcode finden Sie in den Google Play-Standortbeispielen.
Google Play-Dienste für komplexe Funktionen verwenden
Mit den Google Play-Dienste-Bibliotheken kannst du neue Nutzererfahrungen im Zusammenhang mit dem Kontext und der Wahrnehmung der Umgebung des Nutzers implementieren. Die verschiedenen Standort- und Kontextbibliotheken nutzen neben dem Standort auch andere Sensoren. Dies geschieht auf energieeffiziente Weise, sodass deine App genauere Daten erhält, während die Auswirkungen auf die Akkulaufzeit reduziert werden.
Binden Sie diese Bibliotheken in Ihre App ein, anstatt eigene benutzerdefinierte Lösungen zu schreiben:
Framework-Standort-API durch die Fused Location Provider API ersetzen
Mit der Fused Location Provider API können Sie Standortdaten wie Breiten- und Längengrad abrufen. Die Fused Location Provider API verwendet ein Location-Objekt, um den geografischen Standort darzustellen, genau wie die Location Framework API. Die API bietet Funktionen, mit denen Sie auf Standortaktualisierungen warten und den letzten bekannten Standort abrufen können. All diese Funktionen machen die Fused Location Provider API zu einem guten Kandidaten, um die Komponenten, die die Framework Standort-API verwenden, mit minimalen Änderungen am Rest der App zu ersetzen.
Den letzten bekannten Standort abrufen ist für viele Anwendungsfälle ein guter Ausgangspunkt, da es sich um einen schnellen Vorgang handelt, bei dem Standortdaten verwendet werden, die von einem beliebigen Client auf dem Gerät angefordert wurden. Wenn Sie den Standort regelmäßig erfassen möchten, kann Ihre App Standort-Updates abonnieren. So erhalten Sie aktuelle Daten und können komplexere Funktionen anbieten.
Verweise auf die Framework-Standort-API entfernen
Ersetzen Sie Verweise auf Klassen im Paket com.google.android.location durch Klassen aus dem Paket com.google.android.gms.location. Ausgenommen sind Verweise auf die Klasse Location, die von der Fused Location Provider API verwendet wird. In der Regel können Sie die Komponenten, die die verschiedenen Anbieter wie GPS und WLAN verwalten, aus Ihrer App entfernen. Die Standort- und Kontext-APIs verwalten diese Anbieter automatisch.
App testen
Wenn Sie eine App ausführen möchten, die die aktuelle Version der Google Play-Dienste verwendet, benötigen Sie ein Gerät, auf dem die Google Play Store App installiert ist, und Sie müssen in einem Google-Konto angemeldet sein. Für Entwicklungszwecke können Sie die folgenden Optionen verwenden:
- Ein physisches Gerät, das über ein USB-Kabel mit Ihrer Entwicklungsumgebung verbunden ist.
- Ein Emulator, auf dem die Google Play Store App installiert ist.
Weitere Informationen zum Verbinden eines physischen Geräts mit Ihrer Entwicklungsumgebung finden Sie unter Apps auf einem Hardwaregerät ausführen. Informationen zum Erstellen eines Emulators, der die Google Play Store App enthält, finden Sie unter Virtuelle Geräte erstellen und verwalten.