[RESOLVIDO] LocationServices retornando null ao desativar e reativar gps

Boa noite, quando abro minha app com o gps ativo e executo o método para localizar a minha posição atual ele realiza o processo perfeitamente, mas se eu desativar o GPS e ativa-lo novamente e pedir para localizar de novo ele da erro, pois o LocationServices retorna um location null.

Meu código esta assim:

final LocationManager manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    final boolean gpsIsAtivo = manager.isProviderEnabled(LocationManager.GPS_PROVIDER);

    if (gpsIsAtivo) {

        if (googleApiClient == null) {

            googleApiClient = new GoogleApiClient.Builder(context)
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(this)
                    .addApi(LocationServices.API)
                    .build();
        }

        googleApiClient.connect();


        FusedLocationProviderClient minhaLocalizacao = LocationServices.getFusedLocationProviderClient(context);
        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
                && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

            return;
        }
        minhaLocalizacao.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {
            @Override
            public void onSuccess(Location location) {
                if (location != null) {
                    LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
                    if (latLng != null) {
                        progressBar.setVisibility(View.VISIBLE);
                        myLocalizacao(latLng);
                    }
                }
            }
        });

    } else {
        Toast.makeText(context, "GPS não esta ativo, verifique.", Toast.LENGTH_SHORT).show();
    }

Quando eu reativo o GPS ele diz que esta ativo, mas mesmo assim não pega a localização, alguém pode me ajudar, estou começando meus estudos com o map.

Problema resolvido, eu precisava implementar o método startLocationUpdate:

protected void startLocationUpdate() {
    if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
            && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    LocationServices.getFusedLocationProviderClient(context).requestLocationUpdates(locationRequest, locationCallback, null);
}

Agora tudo esta funcionando :slight_smile: