Fornecedores de localização Android-GPS ou fornecedor de rede?

na minha aplicação gostaria de determinar a localização actual do utilizador. Tenho, no entanto, algumas perguntas a este respeito:

  1. Existem diferentes fornecedores de localização, Qual é o mais preciso? O Fornecedor de GPS ou o Fornecedor de rede?

  2. em que medida os fornecedores disponíveis diferem? Como funcionam?

  3. pode, por favor, fornecer-me alguns excertos de código ou tutoriais sobre como começar com a implementação de Funcionalidade GPS no meu aplicativo?

Author: RandomMooCow, 2011-07-21

3 answers

Existem 3 fornecedores de localização no Android.

Eles são:

Gps - > (GPS, AGPS): Nome do Fornecedor de localização GPS. Presente o provedor determina a localização usando satélites. Depender Condições, este Provedor pode demorar um pouco para devolver uma correção de localização. Requer a permissão do andróide.permissao.ACCESS_FINE_LOCATION.

Rede - > (AGPS, CellID, Wi-Fi MACID): Nome da rede location provider. Presente o fornecedor determina a localização com base disponibilidade de torre de celular e pontos de acesso Wi-Fi. Os resultados são retrieved by means of a network lookup. Exige um dos permissões android.permissao.ACCESS_COARSE_LOCATION ou androide.permissao.ACCESS_FINE_LOCATION.

Passivo – > (CellID, Wi-Fi MACID): {[4] } um fornecedor de localização especial para a receber localizações sem iniciar uma localização. Presente o provedor pode ser usado para receber passivamente atualizações de localização quando restante as candidaturas ou os Serviços solicitam-nas sem solicitar efectivamente a localize você mesmo. Este fornecedor irá devolver os locais gerados por outros fornecedores. Requer a permissão androide.permissao.ACCESS_ FINE_LOCATION, embora se o GPS não estiver activo este fornecedor só poderá devolver as correcções grosseiras. Isto é o que Android chama esses provedores de localização, no entanto, o subjacente tecnologias para fazer este material funcionar é mapeado para o conjunto específico de hardware e telco fornecidos capacidades (serviço de rede).

A melhor maneira é usar Primeiro o fornecedor "rede" ou "passivo" , e, em seguida, recurso em "gps", e dependendo da tarefa, alternar entre provedor. Esta abordagem abrange todos os casos e proporciona uma serviço de denominador (no pior caso) e grande serviço (no melhor caso).

enter image description here

Referência do artigo: fornecedores de localização Android-gps, rede, passivo por Fernando Cejas

Código Referência: https://stackoverflow.com/a/3145655/28557

-----------------------Atualização-----------------------

Agora o Android tem o fornecedor de localização em fusão.

O fornecedor de localização fundido gere inteligentemente a tecnologia de localização subjacente e dá-Lhe a melhor localização de acordo com as suas necessidades. Simplifica as formas de os aplicativos obterem a localização atual do usuário com maior precisão e menor uso de energia

Fornecedor da localização em fusão fornecer três formas de obter a localização

  1. última localização: Usar quando quiser saber a localização actual uma vez.
  2. pedir a localização usando o ouvinte: Usar quando a aplicação estiver no ecrã / interface e necessitar de continuar a localização.
  3. pedir a localização usando a intenção pendente: Usar quando a aplicação em segundo plano e necessitar de continuar a localização.

Referências :

Local Oficial : http://developer.android.com/google/play-services/location.html

Exemplo do Fornecedor de localização fundido: GIT : https://github.com/kpbird/fused-location-provider-example

Http://blog.lemberg.co.uk/fused-location-provider

--------------------------------------------------------

 241
Author: Vinayak Bevinakatti, 2017-06-11 04:30:14

O GPS é geralmente mais preciso do que a rede, mas às vezes o GPS não está disponível, por isso pode ser necessário alternar entre os dois.

Um bom começo pode ser olhar para o site android dev. Eles tinham uma seção dedicada a determinar a localização do Usuário e tem todas as amostras de código que você precisa.

Http://developer.android.com/guide/topics/location/obtaining-user-location.html

 7
Author: Otra, 2011-07-21 11:27:15
Há algumas grandes respostas aqui mencionadas. Outra abordagem que você poderia tomar seria usar alguns SDKs gratuitos disponíveis online, como Atooma, tranql e Neura, que pode ser integrado com a sua aplicação Android (demora menos de 20 minutos para integrar). Juntamente com dar-lhe a localização precisa do seu utilizador, ele também pode dar-lhe boas ideias sobre as actividades do seu utilizador. Além disso, alguns deles consomem menos de 1% da sua bateria
 3
Author: johndaly, 2017-02-07 05:26:44