2013-03-09 6 views

Antwort

103

https://developer.android.com/guide/topics/location/strategies.html#Permission

Hinweis: Wenn Sie beide NETWORK_PROVIDER und GPS_PROVIDER verwenden, dann müssen Sie nur die ACCESS_FINE_LOCATION Erlaubnis beantragen, weil sie die Erlaubnis für beide Anbieter umfasst. (Genehmigung ACCESS_COARSE_LOCATION beinhaltet die Erlaubnis nur für NETWORK_PROVIDER.)

Kurz gesagt: Ja, Sie brauchen nicht ACCESS_COARSE_LOCATION, wenn Sie bereits ACCESS_FINE_LOCATION definiert haben.

+9

+1 Spielen benötigt, aber seltsam, Google Maps doc empfehlen beide zu verwenden: https://developers.google.com/maps/ Dokumentation/Android/Start? hl = fr # specify_app_settings_in_the_application_manifest – alex

+3

Vielleicht für Telefone, die Netzwerkfunktionen aber kein GPS haben? –

+2

@NicklasA. logischerweise sollte das keinen Einfluss darauf haben, dass "gut" "grob" beinhaltet - der fehlende Provider wird einfach fehlen. Auch wenn es für diesen Fall benötigt würde, würde ich erwarten, dass Google Docs dies sagt. – ToolmakerSteve

5

Hängt von Ihrem Bedarf ab.

Erlaubnis weise, ACCESS_FINE_LOCATION enthält ACCESS_COARSE_LOCATION. Allerdings gibt es einen Haken:

ACCESS_COARSE_LOCATION gibt Ihnen letzte bekannte Position, die Batterie freundlich https://developer.android.com/training/location/retrieve-current.html#setup
Zum Beispiel ist, wenn Ihre Anwendung tut so etwas wie standortbasierte Empfehlungen, letzte bekannte Position gut genug ist.
Dies hat eine Abhängigkeit von Google Play-Dienste

Allerdings, wenn Sie so etwas wie live/Echtzeit-Standort wie Pokemon Go benötigen, verwenden ACCESS_FINE_LOCATION
Es gibt Ihnen live/Echtzeit-Standort. Sie erhalten eine LocationListener
Zuletzt verwenden muss ich geprüft, das ist nicht Google-Services

+0

Wäre diese Berechtigung nützlich für das Scannen von Bluetooth LE? –

Verwandte Themen