Comment activer le GPS par programmation, comme cela se produit dans l'application officielle de Google Maps en cliquant simplement sur l'option "activer" sur l'écran contextuel (sans accéder aux paramètres de localisation)?
L'application Google Maps utilise ce qui est maintenant disponible pour nous comme SettingsApi
le SDK Play Services. Vous pouvez utiliser SettingsApi
pour savoir si votre LocationRequest
souhaité peut être satisfait avec les fournisseurs de localisation activés. Si cela ne peut pas être satisfait et que Play Services pense que l'utilisateur peut changer cela, vous pouvez demander la boîte de dialogue qui s'affiche.
Utiliser SettingsApi
n'est pas particulièrement simple. Ici n exemple d'application pour cela. En utilisant ACTION_LOCATION_SOURCE_SETTINGS
, comme suggéré dans la réponse de Laurenswuyts, est beaucoup plus simple à mettre en œuvre.
C'est parce qu'ils utilisent le Settings API
dans les services de jeu comme décrit dans la réponse de Commonsware, ce qui est un peu difficile. Vous êtes mieux avec la "vieille" méthode:
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);