Question

Mon application nécessite l'emplacement actuel de l'utilisateur. Pour cela, je l'ai mis en œuvre le code et je suis en mesure d'obtenir l'emplacement actuel. Le code tente d'obtenir la meilleure première et va chercher ensuite des informations de localisation fournisseur. Le problème est que l'emplacement actuel est retourné de NETWORK_PROVIDER si GPS_PROVIDER est désactivé. Si les deux NETWORK_PROVIDER et GPS_PROVIDER sont activés alors le meilleur fournisseur sera GPS_PROVIDER et cela prend trop de temps pour obtenir l'emplacement actuel.

Alors, est-ce bien si nous fixons le fournisseur d'emplacement comme NETWORK_PROVIDER seulement pour qu'il ne sera pas question de savoir si GPS_PROVIDER est activé ou non.

S'il vous plaît laissez-moi savoir quelle est la bonne approche.

Cordialement

Sunil

Était-ce utile?

La solution

En fonction de votre application, vous pourriez être en mesure d'utiliser simplement l'emplacement réseau. Ceci est assez grains fins pour de nombreux services basés sur la localisation. De plus, vous n'avez pas à vous soucier aspirer avec la radio GPS batterie de l'utilisateur.

Mais si vous voulez vraiment aussi précis que possible un emplacement, pourquoi ne pas écouter les fournisseurs? Vous pouvez utiliser la méthode getLastKnownLocation() pour l'emplacement initial. Ensuite, vous pouvez utiliser l'emplacement de NETWORK_PROVIDER. Ensuite, dès que vous obtenez une solution du GPS_PROVIDER, vous pouvez ignorer ou supprimer l'auditeur réseau.

Autres conseils

GPS donne une meilleure précision que fournisseur de réseau.

Le nom du réseau se fait par triangulation des tours de téléphonie cellulaire et wifi.

Alors, si vous avez besoin immédiatement, commencer par « dernière position connue », puis passer à un réseau, une fois que vous avez la solution du GPS, commencer à l'utiliser.

Cordialement, vinay

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top