title: Android cannot resolve method requestLocationUpdates FusedLocationProviderAPI
body: <p>I'm attempting to follow the Android <a href="https://developer.android.com/training/location/receive-location-updates.html">Receiving Location Updates</a> tutorial. The example code is <a href="https://github.com/googlesamples/android-play-location/blob/master/LocationUpdates/app/src/main/java/com/google/android/gms/location/sample/locationupdates/MainActivity.java">here on Github</a>.</p>
  
  <p>Everything is working except for this line:
          <code>LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);</code></p>
  
  <p>It's throwing a <code>cannot resolve method requestLocationUpdates</code> error. I don't see anything in the <a href="https://developer.android.com/reference/com/google/android/gms/location/FusedLocationProviderApi.html#requestLocationUpdates(com.google.android.gms.common.api.GoogleApiClient,%20com.google.android.gms.location.LocationRequest,%20com.google.android.gms.location.LocationListener)">documentation</a>, but I'm pretty new to Android so might be missing something :).</p>
  
  <p>Here's the full code. Any ideas where I'm going wrong? Thanks!</p>
  
  <pre><code>package location.test.example.com;
  
  import android.app.Fragment;
  import android.content.Intent;
  import android.location.Location;
  import android.location.LocationListener;
  import android.os.Bundle;
  import android.support.v4.app.NavUtils;
  import android.text.format.DateFormat;
  import android.util.Log;
  import android.view.ActionMode;
  import android.view.LayoutInflater;
  import android.view.Menu;
  import android.view.MenuInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.Button;
  import android.widget.TextView;
  import android.widget.Toast;
  
  import com.google.android.gms.common.ConnectionResult;
  import com.google.android.gms.common.api.GoogleApiClient;
  import com.google.android.gms.location.LocationRequest;
  import com.google.android.gms.location.LocationServices;
  
  import java.util.ArrayList;
  import java.util.Date;
  
  public class LocationFragment extends Fragment implements
          GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener {
  
      protected GoogleApiClient mGoogleApiClient;
      protected Location mCurrentLocation;
      protected LocationRequest mLocationRequest;
      protected String mLastUpdateTime;
  
      public static final long UPDATE_INTERVAL_IN_MILLISECONDS = 5000;
  
      public static final long FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS = UPDATE_INTERVAL_IN_MILLISECONDS / 5;
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
  
          mLastUpdateTime = "";
  
          buildGoogleApiClient();
  
          if (NavUtils.getParentActivityName(getActivity()) != null) {
              getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
          }
          setHasOptionsMenu(true);
  
      }
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
          View v = inflater.inflate(R.layout.fragment_location, container, false);    
  
          return v;
      }
  
      protected synchronized void buildGoogleApiClient() {
          mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
                  .addConnectionCallbacks(this)
                  .addOnConnectionFailedListener(this)
                  .addApi(LocationServices.API)
                  .build();
          createLocationRequest();
      }
  
      protected void createLocationRequest() {
          mLocationRequest = new LocationRequest();
  
          mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS);
  
          mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS);
  
          mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
          startLocationUpdates();
      }
  
      protected void startLocationUpdates() {
          LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
      }
  
      @Override
      public void onStatusChanged(String provider, int status, Bundle extras) {
  
      }
  
      @Override
      public void onProviderEnabled(String provider) {
  
      }
  
      @Override
      public void onProviderDisabled(String provider) {
  
      }
  
      @Override
      public void onLocationChanged(Location location) {
          mCurrentLocation = location;
          mLastUpdateTime = DateFormat.getDateFormat(getActivity()).format(new Date());
          Toast.makeText(getActivity(), location.toString() + "", Toast.LENGTH_SHORT).show();
      }
  
      @Override
      public void onConnected(Bundle connectionHint) {
  
      }
  
      @Override
      public void onConnectionFailed(ConnectionResult result) {
          Log.i("LocationFragment", "Connection failed: ConnectionResult.getErrorCode() " + result.getErrorCode());
      }
  
      @Override
      public void onConnectionSuspended(int cause) {
          Log.i("LocationFragment", "Connection suspended");
          mGoogleApiClient.connect();
      }
  
  }
  </code></pre>