Android play services 6.5: LocationClient is missing
D

1

45

After updating to Google Play Services 6.5.87 my app was failed to compile because of missing LocationCLient class.

The documentation link is corrupted at the moment (404 Not Found)

How can I fix it? I want to receive location updates, work with geofences, etc..

Disconnect answered 9/12, 2014 at 6:22 Comment(1)
You're ab right. I just found the same issue.Untenable
C
56

The LocationClient class has been replaced with the new FusedLocationProviderApi and the GeofencingApi, both of which use the common GoogleApiClient connection technique to connect to Google Play Services. Once you are connected, you can call methods such as requestLocationUpdates():

LocationRequest locationRequest = LocationRequest.create()
    .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

PendingResult<Status> result = LocationServices.FusedLocationApi
    .requestLocationUpdates(
        googleApiClient,   // your connected GoogleApiClient
        locationRequest,   // a request to receive a new location
        locationListener); // the listener which will receive updated locations

// Callback is asynchronous. Use await() on a background thread or listen for
// the ResultCallback
result.setResultCallback(new ResultCallback<Status>() {
    void onResult(Status status) {
        if (status.isSuccess()) {
            // Successfully registered
        } else if (status.hasResolution()) {
            // Google provides a way to fix the issue
            status.startResolutionForResult(
                activity,     // your current activity used to receive the result
                RESULT_CODE); // the result code you'll look for in your
                              // onActivityResult method to retry registering
        } else {
            // No recovery. Weep softly or inform the user.
            Log.e(TAG, "Registering failed: " + status.getStatusMessage());
        }
   }
});
Convertible answered 9/12, 2014 at 6:33 Comment(5)
Thanks! Looks like they updated the services but forgot to update the documentation.Saccharide
I'm curious as to what this means for applications in the field that are using the now removed LocationClient API, and what happens when the user's phone updates to the latest Google Play Services? Since the API no longer compiles -- do the applications crash or keep working?Binoculars
@Binoculars - apps compiled against previous versions of the Google Play Services SDK will continue to work (this can easily be verified as every phone has 6.5 yet not every app has updated to the new APIs)Convertible
I really wish google would update their documentation. The sample LocationProvider app from their website no longer works: developer.android.com/training/location/location-testing.htmlPiceous
@Piceous - the latest Google Location samples can be found on Github. Not sure why the samples on the Developer site still point to the old ones.Convertible

© 2022 - 2024 — McMap. All rights reserved.