Bom dia para todos! Tenho um projeto que funciona direitinho, mas tem um problema. no código abaixo só reconhece que o gps está habilitado caso eu abrir google maps primeiramente caso não faça isso depender só do meu projeto fazer isso de cara ao buscar as coordenadas esta sempre apontando que gps está desabilitado mesmo estando habilitado(sem dizer que no meu table nem assim funciona). Muito louco isso! Já tentei fazer de tudo olhei na web e sem sucesso alguém já passou por isso e poderia me ajudar?
Declarando:
private double latitude, longitude;
private Location location;
private LocationManager locationmanager;
private Address endereco;
Buscando latitude e longitude
public void latitudelongitude() {
AlertDialog alerta;
Location location;
LocationManager locationmanager;
Address endereco;
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// GPS desabilitado
} else {
locationmanager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
location = locationmanager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
if (location != null) {
latitude = 0.0;
latitude = location.getLatitude();
longitude = 0.0;
longitude = location.getLongitude();
endereco = buscarendereco(latitude, longitude);
// Setando a localidade
String localidade = "";
localidade = endereco.getAddressLine(0);
} else {
// Menssange
Toast.makeText(getBaseContext(), "SEU GPS NÃO ESTÁ HABILITADO!", Toast.LENGTH_LONG).show();
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
}
}
// Buncando o endereço pelo latidude e longitude
public Address buscarendereco(double latidude, double longitude) {
try {
Geocoder geocoder;
Address address = null;
List<Address> addresses;
geocoder = new Geocoder(getApplicationContext());
addresses = geocoder.getFromLocation(latidude, longitude, 1);
if (addresses.size() > 0){
address = addresses.get(0);
}
return address;
} catch (Exception e) {
// Menssange
Toast.makeText(getBaseContext(), "OCORREU UM ERRO TENTE NOVAMENTE!", Toast.LENGTH_LONG).show();
return null;
}
}