title: Android - Locations got from LocationClient doesn't support speed
body: <p>I'm using the new Google LocationClient to retrieve geo locations. And I need to get speed for each point (location).<br>
  What I'm doing now is:<br></p>
  
  <pre><code>if (mLocationClient == null) {
      mLocationClient = new LocationClient(this, mLocationCallback, mLocationCallback);
      mLocationCallback.setLocationClient(mLocationClient);
      if (!(mLocationClient.isConnected() || mLocationClient.isConnecting())) {
          mLocationClient.connect();
      }
  }
  </code></pre>
  
  <p>Where mLocationCallback is an instance of </p>
  
  <pre><code>public class LocationCallback implements ConnectionCallbacks,
          OnConnectionFailedListener, LocationListener {}
  </code></pre>
  
  <p>In the function,</p>
  
  <pre><code>    @Override
      public void onLocationChanged(Location location) {
          if (location == null) {
              Log.e(TAG, "onLocationChanged: location == null");
              return;
          }
  
          Log.i(TAG, "Location@ " + location.getLatitude() + ","
                     + location.getLongitude() + ", Altitude: "
                     + location.getAltitude() + "(" + location.hasAltitude()
                     + ")" + " Velocity: " + location.getSpeed() + " m/s("
                     + location.hasSpeed() + ")");
          }
  }
  </code></pre>
  
  <p>However, everytime <code>location.hasSpeed()</code> gives <code>false</code>. It seems that only GPS provider gives speed. I'm sure my GPS is on but it might never be used.
  Is there a way to force LocationClient to use GPS provider?</p>