2013-01-22 3 views
6

Meine App benötigt nur sehr grobe Standortdaten, so habe ich ursprünglich meine Manifest-Berechtigungen auf ACCESS_COARSE_LOCATION, und richten Sie einen Standort Listener für NETWORK_PROVIDER. Dies ergab genau die Art von ungefährer Standortschätzung, die ich benötigte, aber nur mit Google Location Services.Get * Grob * Standort von GPS-Anbieter auf Android

Ich hatte erwartet, dass, wenn der Benutzer nur GPS aktiviert hatte, würde ich immer noch eine grobe Schätzung ihres Standorts erhalten. Aber es scheint, als wäre der einzige Weg, um Informationen über den Standort von GPS_PROVIDER zu bekommen, die ACCESS_FINE_LOCATION Erlaubnis.

Stimmt es also, dass mit nur aktiviertem GPS eine App keine Standortinformationen empfangen kann, wenn sie nicht über die Berechtigung ACCESS_FINE_LOCATION verfügt? Mit anderen Worten, die GPS_PROVIDER kann keine grobe Standortschätzungen senden, wenn die App nur ACCESS_COARSE_LOCATION Erlaubnis hat?

Antwort

6

Also, ist es wahr, dass mit nur GPS aktiviert, kann eine App keine Standortinformationen erhalten, es sei denn, es hat die Berechtigung ACCESS_FINE_LOCATION?

Im Allgemeinen ja.

Zitiert the documentation for LocationManager:

Wenn Ihre Anwendung nur die grobe Berechtigung hat, dann wird es keinen Zugriff auf die GPS oder passiven Standort-Anbieter hat. Andere Anbieter geben zwar weiterhin Standortergebnisse zurück, aber die Aktualisierungsrate wird gedrosselt und der genaue Standort wird auf ein grobes Genauigkeitsniveau verschleiert.

 

Mit anderen Worten kann der GPS_PROVIDER nicht grobe Standortschätzungen senden, wenn die App nur ACCESS_COARSE_LOCATION Berechtigung hat?

Zitieren die Android 4.2 release notes:

Im Vergleich zu früheren Versionen von Android, Benutzerstandort Ergebnisse weniger genau sein können, wenn Ihre Anwendung die ACCESS_COARSE_LOCATION Erlaubnis beantragt, aber verlangt nicht die ACCESS_FINE_LOCATION Erlaubnis. Um die Datenschutzerwartungen von Benutzern zu erfüllen, wenn Ihre App eine Genehmigung für einen groben Standort (und nicht für einen guten Standort) anfordert, wird vom System keine Standortschätzung bereitgestellt, die genauer als ein Stadtblock ist.

Ich gehe jedoch davon aus, dass dies die Aussage "Ich habe keinen Zugriff auf GPS" von LocationManager nicht ersetzt. Ich nehme an, dass dies bedeutet, dass NETWORK_PROVIDER Daten möglicherweise gesperrt werden, wenn es als zu genau angesehen wird.

+0

Das ist schade. Es wäre nett, wenn GPS_PROVIDER immer noch grobe Schätzungen zurückgeben könnte, wenn nur die KURS-Berechtigung angefordert wird. – Josh