Когда следует использовать разрешение ACCESS COARSE LOCATION?

Я создаю приложение для Android, которое будет отслеживать геолокацию пользователя и рисовать их маршрут на карте.

Я использую API местоположения служб Google Play, как описано здесь.

интуитивно понятно, что мое приложение требует ACCESS_FINE_LOCATION разрешение, которое я помещаю в манифест:

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

мне также нужно ACCESS_COARSE_LOCATION разрешения? Что у Мне нужно приблизительное местонахождение?

3 ответов


мне также нужно разрешение ACCESS_COARSE_LOCATION?

нет.

что у Мне нужно приблизительное местонахождение?

если вы не просите ACCESS_FINE_LOCATION, но вам нужны данные о местоположении, и вы хотите, чтобы эти данные были нечеткими (скажем, до примерно городского квартала от позиции пользователя). В случае LocationManager, вы можете использовать NETWORK_PROVIDER; в случае поставщика местоположения Play Services, они должны справиться с этим сами.

когда-то давно, давным-давно, пользователям сказали во время установки, хочет ли приложение грубый или точный доступ к местоположению. Пользователи могут принимать приложения, которые хотели грубый доступ, но отклонять приложения, которые хотели прекрасный доступ.

поскольку пользовательский интерфейс для этого изменился, и пользователям было бы довольно сложно определить, хочет ли приложение грубое или тонкое разрешение на местоположение, я подозреваю, что большинство разработчиков просто запрашивают разрешение на точное местоположение. При этом, если вы знаете, что ваше приложение не нуждается в таком уровне точности (например, вы хотите местоположение для прогноза погоды), запрос разрешения грубого местоположения является хорошим "кончиком шляпы" в направлении конфиденциальности и может оказаться полезным еще раз в будущем.


нет, вам не нужно использовать грубые места .

грубое местоположение для местоположения сетевого провайдера и прекрасное местоположение для поставщика gps и поставщика сетевого местоположения. так что прекрасное расположение охватывает оба, и вам не нужно использовать еще один.

этой ссылка для вашей справки.


местоположение можно определить двумя способами:

Using NETWORK_PROVIDER
Using GPS_PROVIDER
  1. С помощью сервис network_provider

    Android разрешения, необходимые для использования этого поставщика либо ACCESS_COARSE_LOCATION или функция.

  2. С помощью GPS_PROVIDER

    Android разрешения, необходимые для использования этого поставщика являются только функция