2013-01-22 13 views
6

Moja aplikacja wymaga jedynie bardzo przybliżonych danych o lokalizacji, więc początkowo ustawiłem moje uprawnienia do manifestu na ACCESS_COARSE_LOCATION i skonfigurowałem detektor lokalizacji na NETWORK_PROVIDER. Dało mi to dokładnie taką przybliżoną ocenę lokalizacji, jakiej potrzebowałem, ale tylko z włączonymi usługami lokalizacyjnymi Google.Uzyskaj * dokładną * lokalizację od dostawcy GPS na Androida

Spodziewałem się, że jeśli użytkownik ma włączony GPS, to nadal otrzymam przybliżoną ocenę jego lokalizacji. Ale wydaje się, że jedynym sposobem uzyskania DOWOLNEJ informacji o lokalizacji z GPS_PROVIDER jest użycie uprawnienia ACCESS_FINE_LOCATION.

Czy to prawda, że ​​tylko z włączonym GPS, aplikacja nie może uzyskać informacji o lokalizacji, chyba że ma ona uprawnienie ACCESS_FINE_LOCATION? Innymi słowy, GPS_PROVIDER nie może wysłać przybliżonych szacunków lokalizacji, jeśli aplikacja ma tylko pozwolenie na ACCESS_COARSE_LOCATION?

Odpowiedz

6

Czy to prawda, że ​​przy włączonym tylko GPS aplikacja nie może uzyskać informacji o lokalizacji, chyba że ma uprawnienie ACCESS_FINE_LOCATION?

Ogólnie mówiąc, tak.

Cytowanie the documentation for LocationManager:

Jeśli aplikacja ma tylko zgrubne pozwolenie to nie będzie miał dostępu do GPS lub pasywnych dostawców lokalizacji. Inni dostawcy nadal będą zwracać wyniki lokalizacji, ale szybkość aktualizacji zostanie zmniejszona, a dokładna lokalizacja zostanie zaciemniona z grubsza na poziomie dokładności.

 

Innymi słowy, GPS_PROVIDER nie mogą wysyłać przybliżone szacunki lokalizacji, jeśli aplikacja ma jedynie uprawnienia ACCESS_COARSE_LOCATION?

Cytowanie Android 4.2 release notes:

W porównaniu do poprzednich wersji Androida, wyniki lokalizacji użytkownika mogą być mniej dokładne, jeśli aplikacja prosi o pozwolenie ACCESS_COARSE_LOCATION ale nie zwróci się o pozwolenie ACCESS_FINE_LOCATION. Aby spełnić oczekiwania użytkowników związane z prywatnością, gdy aplikacja prosi o zezwolenie na lokalizację z grubsza (a nie o dokładną lokalizację), system nie zapewni szacunkowej lokalizacji użytkownika, która jest bardziej dokładna niż blok miasta.

Jednak zakładam, że nie zastąpi to stwierdzenia "nie będę mieć dostępu do GPS" od LocationManager. Zakładam, że oznacza to, że dane mogą zostać zahamowane, jeśli zostaną uznane za zbyt dokładne.

+0

To szkoda. Byłoby miło, gdyby GPS_PROVIDER mógł nadal zwracać przybliżone dane szacunkowe, jeśli zażądano tylko pozwolenia na KURS. – Josh

Powiązane problemy