Android obtient l'emplacement ou invite à activer le service de localisation si désactivé
J'ai trouvé des morceaux de cette réponse dispersés dans d'autres posts, mais je voulais l'enregistrer ici pour les autres.
Comment puis-je simplement demander à l'utilisateur du GPS et/ou un emplacement Réseau et, si elles n'ont pas activé le service, les inciter à le faire?
source d'informationauteur DougW
Vous devez vous connecter pour publier un commentaire.
Si vous voulez capturer l'emplacement sur un bouton poussoir, voici comment vous pouvez le faire. Si l'utilisateur ne dispose pas d'un service de localisation est activé, ce sera de les envoyer dans le menu paramètres pour l'activer.
Tout d'abord, vous devez ajouter la permission "d'android.la permission.ACCESS_COARSE_LOCATION" à votre manifeste. Si vous avez besoin de GPS (l'emplacement réseau n'est pas assez sensible), ajouter l'autorisation "d'android.la permission.ACCESS_FINE_LOCATION" au lieu de cela, et de modifier les Critères.ACCURACY_COARSE" à "des Critères.ACCURACY_FINE"
Mon extérieur de la classe a cet écouteur configurer
Ensuite, chaque fois que vous souhaitez arrêter l'écoute de l'appel. Vous devriez au moins faire cet appel au cours de votre activité de la méthode onStop.
Après être passé par beaucoup de réponses sur un Débordement de Pile, j'ai trouvé que cette méthode fonctionne parfaitement bien et ne nécessite même pas beaucoup de code.
Déclarer
int GPSoff = 0
comme une variable globale.Maintenant, partout où vous avez besoin de vérifier le statut actuel du GPS et rediriger l'utilisateur d'allumer le GPS, utilisez ceci :
Pour inviter l'utilisateur à activer les services de localisation, vous devez utiliser la nouvelle LocationRequest inclus dans google play services, vous pouvez trouver le guide complet en LocationRequest