Я создаю приложение для Android, которое будет отслеживать геолокацию пользователя и рисовать его маршрут на карте.
Я использую API определения местоположения сервисов Google Play, как описано здесь.
Интуитивно понятно, что моему приложению требуется разрешение ACCESS_FINE_LOCATION
, которое я поместил в манифест:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Мне также нужно разрешение ACCESS_COARSE_LOCATION
? В каком случае мне нужно грубое местоположение?
ACCESS_COARSE_LOCATION
включает разрешение только дляNETWORK_PROVIDER
НеGPS
- person IntelliJ Amiya   schedule 08.03.2016GPS_PROVIDER
даже с грубым разрешением, но данные будут нечеткими, чтобы внести некоторую неточность в целях конфиденциальности. - person CommonsWare   schedule 08.03.2016NETWORK_PROVIDER
только сACCESS_COARSE_LOCATION
. Некоторые части кода AOSP также предполагают это, в то время как другие части кода AOSP предполагают, что они подделывают данные, как я думал. Следовательно, на всякий случай лучше предположить, что вы не можете получить местоположения изGPS_PROVIDER
, используя толькоACCESS_COARSE_LOCATION
, хотя это стоит некоторого тестирования. - person CommonsWare   schedule 08.03.2016ACCESS_FINE_LOCATION
, чтобы использоватьGPS_PROVIDER
. В противном случае вы вылетите сSecurityException
. - person CommonsWare   schedule 09.03.2016