Android не может разрешить запрос методаLocationUpdates FusedLocationProviderAPI

Я пытаюсь следовать учебному пособию по обновлению местоположения Android. Пример кода здесь, на Github .

Все работает, кроме этой строки: LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);

Это бросание cannot resolve method requestLocationUpdates error. Я ничего не вижу в документации , но я довольно новичок в Android, так что, возможно, что-то не хватает :).

Вот полный код. Любые идеи, в которых я ошибаюсь? Благодаря!

 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(); } } 

Solutions Collecting From Web of "Android не может разрешить запрос методаLocationUpdates FusedLocationProviderAPI"

Вы должны использовать LocationListener для LocationServices.FusedLocationApi.requestLocationUpdates's locationListener

не

android.location.LocationListener

но

com.google.android.gms.location.LocationListener

Импортировать

 import com.google.android.gms.location.LocationListener; 

вместо

 import android.location.LocationListener; 

Пожалуйста, поддержите, если сочтете это полезным.

Импорт android.location.LocationListener или com.google.android.gms.location.LocationListener бесполезен, поскольку пакеты остаются неиспользованными. Внесите com.google.android.gms.location.LocationListener inteface.

Вместо изменения инструкции импорта используйте инструменты com.google.android.gms.location.LocationListener

Чем просто LocationListener / android.location.LocationListener.

Это решило мою проблему.

Нужна обновленная версия google play services 10.0.0+

 compile 'com.google.android.gms:play-services:10.0.0'