web-dev-qa-db-fra.com

Marshmallow FINE et COARSE permission de localisation

J'essaie d'accéder à ACCESS_FINE_LOCATION et s'il est introuvable, accédez ACCESS_COARSE_LOCATION. Donc, je demande ces 2 autorisations, mais ils me donnent la même boîte de dialogue demandant l'autorisation de localisation. Je sais que ce sont les deux dans le même groupe, mais Google dit:

Remarque: Votre application doit toujours demander explicitement toutes les autorisations dont elle a besoin, même si l'utilisateur a déjà accordé une autre autorisation dans le même groupe. En outre, le regroupement des autorisations en groupes peut changer à l'avenir Android. Votre code ne doit pas reposer sur l'hypothèse que des autorisations particulières sont ou ne sont pas dans le même groupe.

Cela signifie que je demande ces 2 autorisations en une seconde, ce qui entraîne 2 boîtes de dialogue d'affilée. Cela ne me semble pas très convivial. Y a-t-il une meilleure façon?

17
Robin Dijkhof

Tu n'as pas besoin ACCESS_COARSE_LOCATION autorisation lorsque vous définissez ACCESS_FINE_LOCATION autorisation.

À partir de Android Documentation:

Demande d'autorisations utilisateur

Pour recevoir des mises à jour de position de NETWORK_PROVIDER ou GPS_PROVIDER, vous devez demander l'autorisation de l'utilisateur en déclarant ACCESS_COARSE_LOCATION ou ACCESS_FINE_LOCATION autorisation, respectivement, dans votre fichier manifeste Android manifeste. Par exemple:

<manifest>
      <uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION"/>
       .......
</manifest>

Sans ces autorisations, votre application échouera lors de l'exécution lors de la demande de mises à jour d'emplacement.

Remarque: Si vous utilisez les deux NETWORK_PROVIDER et GPS_PROVIDER, vous devez alors demander uniquement le ACCESS_FINE_LOCATION autorisation, car elle inclut l'autorisation pour les deux fournisseurs. (Autorisation pour ACCESS_COARSE_LOCATION inclut une autorisation uniquement pour NETWORK_PROVIDER.)

Veuillez consulter https://developer.Android.com/guide/topics/location/strategies.html

31
Rajesh