Auf Google APIs zugreifen

Wenn Sie in Ihrer Android-App auf APIs zugreifen möchten, die von Google Play-Diensten unterstützt werden, müssen Sie API-Clientobjekte verwenden. Diese Objekte verwalten die Verbindung zu den Google Play-Diensten, stellen Anfragen in die Warteschlange und führen sie nacheinander aus, sobald eine Verbindung verfügbar ist. Sie können nach Bedarf neue API-Clients erstellen, da sie kostengünstig zu erstellen sind.

Jetzt starten

Bevor Sie beginnen, müssen Sie Google Play-Dienste in Ihrem App-Projekt einrichten.

Wenn Sie auf einen Dienst zugreifen möchten, für den keine Autorisierung erforderlich ist, erstellen Sie eine Instanz des Clientobjekts des Dienstes und übergeben Sie entweder ein Context- oder ein Activity-Objekt. Falls erforderlich, werden Nutzer aufgefordert, die Google Play-Dienste zu aktualisieren, bevor API-Aufrufe ausgeführt werden.

Im folgenden Code-Snippet wird gezeigt, wie Sie den letzten bekannten Standort des Geräts mit dem Anbieter für den kombinierten Standort abrufen:

Kotlin

// Code required for requesting location permissions omitted for brevity.
val client = LocationServices.getFusedLocationProviderClient(this)

// Get the last known location. In some rare situations, this can be null.
client.lastLocation.addOnSuccessListener { location : Location? ->
    location?.let {
        // Logic to handle location object.
    }
}

Java

// Code required for requesting location permissions omitted for brevity.
FusedLocationProviderClient client =
        LocationServices.getFusedLocationProviderClient(this);

// Get the last known location. In some rare situations, this can be null.
client.getLastLocation()
        .addOnSuccessListener(this, location -> {
            if (location != null) {
                // Logic to handle location object.
            }
        });

Wenn Sie auf APIs zugreifen möchten, für die eine Nutzerautorisierung erforderlich ist, folgen Sie der Anleitung zum Autorisieren des Zugriffs auf Google-Nutzerdaten. Wenn Sie eine API verwenden, für die ein GoogleSignInAccount-Objekt erforderlich ist, verwenden Sie die Methode AuthorizationResult#toGoogleSignInAccount().

API-Verfügbarkeit prüfen

Bevor Sie eine Funktion aktivieren, die von einer Google Play-Dienst-API abhängt, prüfen Sie, ob die API auf dem Gerät verfügbar ist. Rufen Sie dazu checkApiAvailability() auf.

Im folgenden Code-Snippet wird gezeigt, wie Sie prüfen, ob der Anbieter für den kombinierten Standort verfügbar ist:

Kotlin

fun getLastLocationIfApiAvailable(context: Context?): Task<Location>? {
    val client = getFusedLocationProviderClient(context)
    return GoogleApiAvailability.getInstance()
        .checkApiAvailability(client)
        .onSuccessTask { _ -> client.lastLocation }
        .addOnFailureListener { _ -> Log.d(TAG, "Location unavailable.")}
}

Java

public Task<Location> getLastLocationIfApiAvailable(Context context) {
    FusedLocationProviderClient client =
            getFusedLocationProviderClient(context);
    return GoogleApiAvailability.getInstance()
            .checkApiAvailability(client)
            .onSuccessTask(unused -> client.getLastLocation())
            .addOnFailureListener(e -> Log.d(TAG, "Location unavailable."));
}