Comment demander une autorisation de localisation au moment de l'exécution
Dans le fichier manifeste, il est crucial d'inclure les autorisations nécessaires pour l'accès à la localisation. Cependant, le simple fait d'ajouter des autorisations au manifeste ne suffira pas sur les appareils exécutant Android 6 ou version ultérieure. Pour obtenir les mises à jour de localisation avec succès, vous devez demander l'autorisation au moment de l'exécution. Voici un guide étape par étape :
-
Vérifier l'état des autorisations :
- Utilisez ContextCompat.checkSelfPermission() pour vérifier si le l'application a accès aux autorisations requises (dans votre cas, Manifest.permission.ACCESS_FINE_LOCATION).
-
Demander une autorisation (si elle n'est pas accordée) :
- Si les autorisations ne sont pas accordées , utilisez ActivityCompat.requestPermissions(). Cela invitera l'utilisateur à accorder ou à refuser l'autorisation.
-
Gérer le résultat de l'autorisation :
- Remplacer onRequestPermissionsResult(). Cette méthode recevra le résultat de la demande d'autorisation et mettra à jour le gestionnaire de localisation en conséquence.
Dans votre code :
- Vous ajoutez correctement l'emplacement autorisations sur le manifeste.
- Vous utilisez ContextCompat.checkSelfPermission() pour vérifier l'état de l'autorisation, mais vous ne demandez pas l'autorisation si ce n'est pas le cas. accordée.
- Pour résoudre le problème, vous devez demander une autorisation de localisation à l'aide d'ActivityCompat.requestPermissions(), comme indiqué dans les exemples de code Java et Kotlin mis à jour fournis dans la réponse.
-
Démarrer les mises à jour de localisation (si l'autorisation est accordée) :
- Une fois l'autorisation obtenue accordée, utilisez requestLocationUpdates() pour recevoir des mises à jour de localisation.
-
Pause/Reprendre les mises à jour de localisation :
- Utilisez onPause( ) et onResume() pour suspendre et reprendre les mises à jour de localisation lorsque l'activité est en arrière-plan ou au premier plan, respectivement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!