Q:

Не срабатывает слушатель LocationListener

Я создаю LocationListener и регистрирую его в LocationManager для получения изменений в местоположении, но возникает проблема: в методы слушателя не приходят ответы! Совсем! Вот код создания:
        LocationListener listener = new LocationListener() {
            @Override
            public void onLocationChanged(Location location) {
                if (lastLocation == null) {
                    lastLocation = location;
                }

                distanceInMeters += location.distanceTo(lastLocation);
                lastLocation = location;

                Log.i(TAG, "LocationChanged");
            }

            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
                Log.i(TAG, "StatusChanged");
            }

            @Override
            public void onProviderEnabled(String provider) {
                Log.i(TAG, "ProviderEnabled");
            }

            @Override
            public void onProviderDisabled(String provider) {
                Log.i(TAG, "ProviderDisabled");
            }
        };

        LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
                != PackageManager.PERMISSION_GRANTED &&
                ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
                != PackageManager.PERMISSION_GRANTED) {

            Log.i(TAG, "FCK...");
            return;
        }

        locationManager.requestLocationUpdates(locationManager.GPS_PROVIDER,
                1000,
                1,
                listener);

Почему не срабатывает слушатель и как это исправить?
P.S. GPS - включил.

A:

Для GPS добавьте permission <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
ACCESS_COARSE_LOCATION - по вышкам сотовым
 ACCESS_FINE_LOCATION - gps

