Como usar um GPS externo bluetooth no Android.

Isso não é nenhuma novidade, mas como eu publiquei um post sobre como montar um GPS bluetooth, é natural que eu escreva sobre isto para completar a explicação.

Desde versões bem antigas todo aparelho Android tem a capacidade de usar “mock locations”, que é uma “falsificação” das coordenadas de localização.

O fato é que qualquer app também pode pegar coordenadas “reais” via bluetooth e disponibilizar como se fosse um GPS interno do aparelho.

Você precisa apenas de duas coisas:

  • Habilitar Mock Locations no Android – A opção sempre está sob “Developer Options” mas a maneira exata de chegar a esse menu depende da versão do Android. Versões mais antigas deixavam isso bem à vista do usuário, mas nas versões recentes esse menu pode estar oculto e será necessário um certo ritual para evocá-lo. Verifique como se chega às “Opções de Desenvolvedor” na sua versão;
  • Instalar uma app que crie um GPS Provider via Bluetooth – Eu estou usando uma com o nome espantosamente original “Bluetooth GPS“, porque foi a que mais me agradou, mas existem outras.
android_BuildNumber_ryan.com.br

Em versões recentes do Android Developer Options é um menu secreto que pode ser habilitado tocando várias vezes seguidas em “build number”.

allow_mock_locations_ryan.com.br

Com o GPS bluetooth em operação eu posso até desligar o acesso aos serviços de localização do Android, que apps com o Waze continuam funcionando.

android_location_disabled_ryan.com.br

Mesmo com “Location” desabilitado, os “mock providers” continuam funcionando.

Não encontrei em lugar algum a informação de que o uso de mock locations desativa automaticamente o GPS interno então, para me certificar de que não estou gastando bateria sem necessidade com um GPS que não funciona mesmo, eu desativo os serviços de localização ao entrar no carro e habilitar o GPS bluetooth. [18/09/2016] Se você usa o serviço de localização para rastrear onde seu celular (você) esteve e em que horários, não faça isso. A localização não aceita as coordenadas vindas de “mock locations”.

A app "Bluetooth GPS" enquanto ainda não está recebendo as strings NMEA.

A app “Bluetooth GPS” enquanto ainda não está recebendo as strings NMEA do GPS.

Uma reclamação

Uma coisa que me incomoda há anos é a inexistência de uma app GPS Wi-Fi. Eu estou sempre com o Wi-Fi habilitado e sempre com o bluetooth desligado, mas agora sempre que entro no carro tenho que habilitar o BT e lembrar de desabilitá-lo ao sair (BT costuma consumir muita bateria). Além disso, bluetooth só permite uma conexão por vez. Um “Wi-Fi GPS provider” resolveria todos esses problemas. Eu ainda estou engatinhando na programação para Android mas esse é um dos projetos que vou atacar assim que tiver o conhecimento suficiente.

O mais próximo que cheguei de encontrar uma app pronta com essa funcionalidade é a dupla GPS Tether Server e GPS Tether Client, mas o cliente é feito para conversar com o server do mesmo desenvolvedor  apenas.

2 comentários
  • Cláudio - 1 Comentário

    Bom dia colega,há restrições para esse procedimento quando é utilizado um gps da garmin, pois sempre dá mensagem de erro quando tento fazer esse procedimento.

  • gian - 1 Comentário

    bom dia amigo, qual o gps externo que vc indica para fazer esse procedimento ?

Deixe um comentário para gian Cancelar resposta

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »