Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
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 verarbeiten die Verbindung zu den Google Play-Diensten, stellen Anfragen in die Warteschlange und führen sie in der richtigen Reihenfolge aus, wenn eine Verbindung verfügbar ist. Sie können bei Bedarf neue API-Clients erstellen, da sie kostengünstig sind.
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. Bei Bedarf werden Nutzer aufgefordert, Google Play-Dienste zu aktualisieren, bevor API-Aufrufe ausgeführt werden.
Das folgende Code-Snippet zeigt, wie der letzte bekannte Standort des Geräts mit dem Fused Location Provider abgerufen wird:
Kotlin
// Code required for requesting location permissions omitted for brevity.valclient=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.FusedLocationProviderClientclient=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.}});
Bevor Sie ein Feature aktivieren, das von einer Google Play-Dienste-API abhängt, prüfen Sie, ob die API auf dem Gerät verfügbar ist. Rufen Sie dazu checkApiAvailability() auf.
Das folgende Code-Snippet zeigt, wie Sie prüfen, ob der Fused Location Provider verfügbar ist:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-05 (UTC)."],[[["\u003cp\u003eTo use Google Play services APIs, create API client objects which manage the connection and queue requests when offline.\u003c/p\u003e\n"],["\u003cp\u003eAccess services without authorization by obtaining the client object using the current \u003ccode\u003eContext\u003c/code\u003e or \u003ccode\u003eActivity\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAccess services requiring authorization by signing in the user, requesting necessary permissions, and then getting the client object.\u003c/p\u003e\n"],["\u003cp\u003eCheck for API availability using \u003ccode\u003echeckApiAvailability()\u003c/code\u003e if you need to disable features when an API is unavailable, although API calls will fail gracefully if the API isn't present.\u003c/p\u003e\n"]]],["To use Google Play services APIs, create an API client object, which manages the connection and queues requests. For services not requiring authorization, obtain the client instance using `Context` or `Activity`; for example, the Fused Location Provider client. For services requiring authorization, sign the user in, request necessary permissions, and then get the client using `GoogleSignInAccount`. For example, the Fit API client to get the daily steps. Before making API calls check with `checkApiAvailability()`.\n"],null,["\u003cbr /\u003e\n\nTo access\n[APIs powered by Google Play services](/android/guides/setup#list-dependencies)\nin your Android app, you need to use API client objects. These objects handle\nthe connection to Google Play services, queueing requests and executing them in\norder when a connection is available. You can create new API clients as needed,\nas they are inexpensive to construct.\n\nGet started\n\nBefore you begin, make sure to\n[set up Google Play services](/android/guides/setup) in your app project.\n| **Warning:** APIs using [`GoogleApiClient`](/android/reference/com/google/android/gms/common/api/GoogleApiClient) are deprecated. If you are still using `GoogleApiClient`, migrate to the corresponding `GoogleApi`-based APIs by updating to the latest available SDK versions.\n\nTo access a service that doesn't require authorization, create an instance of\nthe service's client object, passing either a\n[`Context`](https://developer.android.com/reference/android/content/Context) or\nan [`Activity`](https://developer.android.com/reference/android/app/Activity)\nobject. If necessary, users are prompted to upgrade Google Play services before\nany API calls are executed.\n\nThe following code snippet shows how to get the device's last known location\nusing the Fused Location Provider: \n\nKotlin \n\n```kotlin\n// Code required for https://developer.android.com/training/location/permissions omitted for brevity.\nval client = LocationServices.getFusedLocationProviderClient(this)\n\n// Get the last known location. In some rare situations, this can be null.\nclient.lastLocation.addOnSuccessListener { location : Location? -\u003e\n location?.let {\n // Logic to handle location object.\n }\n}\n```\n\nJava \n\n```java\n// Code required for https://developer.android.com/training/location/permissions omitted for brevity.\nFusedLocationProviderClient client =\n LocationServices.getFusedLocationProviderClient(this);\n\n// Get the last known location. In some rare situations, this can be null.\nclient.getLastLocation()\n .addOnSuccessListener(this, location -\u003e {\n if (location != null) {\n // Logic to handle location object.\n }\n });\n```\n\nTo access APIs that require user authorization, follow the guide to\n[authorize access to Google user data](https://developer.android.com/identity/authorization).\nIf you are using an API that requires a `GoogleSignInAccount` object, use the\n[`AuthorizationResult#toGoogleSignInAccount()`](/android/reference/com/google/android/gms/auth/api/identity/AuthorizationResult#toGoogleSignInAccount())\nmethod.\n\nCheck for API availability\n\nBefore enabling a feature that depends on a Google Play services API, check if\nthe API is available on the device by calling\n[`checkApiAvailability()`](/android/reference/com/google/android/gms/common/GoogleApiAvailability#checkApiAvailability(com.google.android.gms.common.api.HasApiKey%3C?%3E,%20com.google.android.gms.common.api.HasApiKey%3C?%3E...)).\n| **Note:** This check is only needed if you need to disable a feature when an API is unavailable. You can also call API methods without this check, as they will fail if the API is unavailable.\n\nThe following code snippet shows how to check if the fused location provider is\navailable: \n\nKotlin \n\n```kotlin\nfun getLastLocationIfApiAvailable(context: Context?): Task\u003cLocation\u003e? {\n val client = getFusedLocationProviderClient(context)\n return GoogleApiAvailability.getInstance()\n .checkApiAvailability(client)\n .onSuccessTask { _ -\u003e client.lastLocation }\n .addOnFailureListener { _ -\u003e Log.d(TAG, \"Location unavailable.\")}\n}\n```\n\nJava \n\n```java\npublic Task\u003cLocation\u003e getLastLocationIfApiAvailable(Context context) {\n FusedLocationProviderClient client =\n getFusedLocationProviderClient(context);\n return GoogleApiAvailability.getInstance()\n .checkApiAvailability(client)\n .onSuccessTask(unused -\u003e client.getLastLocation())\n .addOnFailureListener(e -\u003e Log.d(TAG, \"Location unavailable.\"));\n}\n```"]]