Provedores de localização no Android?
-
27-09-2019 - |
Pergunta
Meu aplicativo requer localização atual do usuário. Para isso, implementei o código e sou capaz de obter o local atual. O código tenta obter o melhor provedor primeiro e depois buscar informações de localização. O problema é que o local atual é retornado do Network_Provider se GPS_Provider estiver desativado. Se o Network_Provider e o GPS_Provider estiverem ativados, o melhor provedor será GPS_Provider e isso levará muito tempo para obter o local atual.
Portanto, está tudo bem se definirmos o provedor de localização como Network_Provider apenas para que não importe se GPS_Provider está ativado ou não.
Por favor, deixe -me saber qual é a abordagem certa.
Cumprimentos
Sunil
Solução
Dependendo do seu aplicativo, você poderá usar apenas o local da rede. Isso é refinado o suficiente para muitos serviços baseados em localização. Além disso, você não precisa se preocupar em sugar a bateria do usuário com rádio GPS.
Mas se você realmente quer um local o mais preciso possível, por que não ouvir os dois provedores? Você poderia usar o getLastKnownLocation()
Método para a localização inicial. Então você pode usar o NETWORK_PROVIDER
localização. Então, assim que você obtém uma correção do GPS_PROVIDER
, você pode ignorar ou remover o ouvinte de rede.
Outras dicas
O GPS oferece melhor precisão do que o provedor de rede.
O provedor de rede é feito usando a triangulação de torres celulares e Wi -Fi.
Portanto, se você precisar imediatamente, comece com o "Last Location conhecido", depois mude para a rede, depois de ter a correção do GPS, comece a usá -lo.
Atenciosamente, Vinay