Estou tendo problemas no meu código, quando abro o aplicativo ele solicita para ligar a localização, na primeira vez ele funciona tudo normalmente, porém, se eu fechar o aplicativo e desligar a localização e depois abrir o aplicativo novamente e ligar a localização ele retorna como nulo, fazendo com que dê erro no aplicativo, é como se a localização não estivesse ligada, este é o código completo em Java da tela em que estou tendo problemas, alguém pode me ajudar?
[...]
FusedLocationProviderClient mFusedLocation = LocationServices.getFusedLocationProviderClient(context);
mFusedLocation.getLastLocation().addOnSuccessListener(requireActivity(), new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if(location != null){
gethome(location);
Constants.LATITUDE = location.getLatitude();
Constants.LONGITUDE = location.getLongitude();
Log.e("BEARING:", String.valueOf(location.getBearing()));
}
}
});
colors = colors_temp;
shimmershow();
return getView;
}
RESOLVIDO!
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);
}