Segue um exemplo bem simples para pegar informações do GPS de seu android.
Primeiramente em seu arquivo Manifest.xml adicione as seguintes permissões:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.INTERNET"/>
Após dada as permissoes a implementação é simples, segue um codigo de exemplo:
public class Gps implements LocationListener { private Location location; public Gps(Context c) { location = null; LocationManager locationManager = (LocationManager) c.getSystemService(c.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); } public void onLocationChanged(Location location) { this.location = location; //Este objeto location que ira retornar as coordenadas: //double latitute = location.getLatitude(); //double longitude = location.getLongitude(); } public void onStatusChanged(String arg0, int arg1, Bundle arg2) { //chamado quando o estado muda de Provider. Status possíveis: OUT_OF_SERVICE, TEMPORARILY_UNAVAILABLE ou AVAILABLE. } public void onProviderEnabled(String arg0) { //chamado quando o provedor é ativada pelo usuário } public void onProviderDisabled(String arg0) { //chamado quando o provedor é desativado pelo usuário, se ele já estiver desativado, é chamado imediatamente após requestLocationUpdates } public Location getLocation() { return location; } }
Fonte: software motodev studio for android
Android – Pegando dados do GPS
Guilherme,
este teu código, conforme o gps altere seus valore (andando na rua por exemplo) já vai sendo atualizado automaticamente, atualizando no mapView o ponto e deslocando o map?!
Grato.. parabens pelo blog 🙂
Olá Douglas, Obrigado pelo seu comentario.
Conforme postei, a cada atualização do gps (cordenadas) o método onLocationChanged(Location location); é chamado, assim ele atualiza toda vez que é encontrada uma nova localização, se você implementou corretamente o mapView, de acordo com esse exemplo, vai funcionar normalmente.
Att.
Qualquer duvida só perguntar
Como eu faço essa classe funcionar e mostrar na tela a latitude e longitude encontradas ?
Bom post, simples e pratico!
Mas pintou uma duvida…
Vejo q o google maps do android funciona sem a internet!
Pra usar o gps e pegar a localização eu necessito da permissão da Internet ?
Só para pegar a localização você não precisa. só é necessario mesmo a permissão de localização, eu coloquei a permisão de internet pois caso você tenha conexão e dependendo de sua configuração a sua rede pode ajudar a pegar a localização (assim como o google maps).
Ok Guilherme, estou fazendo alguns testes, ao pegar a localização e pode ocorrer de não ter internet em alguns pontos. Valeu!!!
Parabéns pelo site, muito bom.
Como faço para deixar um ProgressDialog rodando na tela enquanto o gps busca a localização?
Estou tentando fazer com uma thread mais não está funfando.
Se puder ajudar agradeço muito.
O GPS neste caso está funcionando com o listener “LocationListener”, basta em sua activity criar o progressDialog e dar o start e dentro de uma thread que você fica dando o getLocation() você verifica se chegou a posição e da um dismiss no progress. Qualquer coisa me mande seu codigo para verificar o como você está fazendo. Mais a ideia e deixar o Progress fora de thread.
Guilherme consegui obrigado.
Parabéns pelos posts, são ótimos.
Que otimo, desculpa pela demora da resposta. Estava vendo agora.
Teria skype?
Qual foi a classe que você implementou o código?
Que sorte a minha ter encontrado este artigo.
No entanto, Guilherme, seria uma boa ideia implementar a exportação dos dados em formato de tabela, como isso seria possível?