Emplacement Gestionnaire de supprimer les mises à jour de l'autorisation
Je suis en utilisant android studio et compileSdkVersion est de 23
dans ce que je fais à l'aide de code ci-dessous
if(locationManager != null){
locationManager.removeUpdates(GPSListener.this);
}
pour arrêter gps jour GPS Auditeur est une classe qui implémente: LocationListener.
mais dans removeUpdates ligne je suis en dessous de la charpie avertissement
Appel nécessite une autorisation qui peut être rejetée par l'utilisateur: code doit
explicitement vérifier pour voir si l'autorisation est disponible (avec
checkPermission
) ou de manipuler un potentielSecurityException
Je ne reçois pas quel est le problème dans le code ci-dessus.
Aucune autorisation supplémentaire doit être ajouté dans le fichier de manifeste?.
Ce qui concerne.
OriginalL'auteur Madhukar Hebbar | 2015-09-22
Vous devez vous connecter pour publier un commentaire.
Depuis SDK 23, vous devriez/besoin de vérifier la permission avant d'appeler l'Emplacement des fonctionnalités de l'API. Voici un exemple de comment le faire:
Il est
checkSelfPermission()
, qui consiste à vérifier si "vous" (cette application) possède les autorisations correctes. Il est égalementcheckPermission()
, qui consiste à vérifier si un autre processus a les autorisations correctes.Notes
ContextCompat.checkSelfPermission()
à la place (grâce à JerryBrady)Notez que si votre cible est < 23, vous devez utiliser ContextCompat.checkSelfPermission() à la place.
J'ai envie de pleurer. Pourquoi l'app besoin d'une autorisation pour supprimer un déjà fixée: locationlistener à partir de l'emplacement manager?
OriginalL'auteur Tim Castelijns
Je n'étais pas en mesure d'utiliser
checkSelfPermission()
, parce que mon min de l'API est de 14 et 23 est nécessaire. Sachant cela, vous pouvez égalementtry
àcatch
unSecurityException
.Exemple:
La Question était pour "compileSdkVersion 23", ce qui ne signifie pas que l'application est de ciblage 23. Si vous voulez une compatibilité descendante avec plein Android M support, utiliser ContextCompat.checkSelfPermission() à la place et qu'il fonctionne.
Je suis désolé. Je ne savais pas que. Mais je pense que cette option à l'aide de try - catch toujours utile.
Cette réponse est m'a aidé. Mais je pense que ce n'était pas une bonne solution. Mais je upvoted.
OriginalL'auteur Rodrigo Borba
À ajouter à Jerry Brady commentaire concernant ContextCompat, c'est le code complet pour < 23:
OriginalL'auteur Wouter de Jong
Voici ma solution !
OriginalL'auteur Regis_AG