21

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

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

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

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

ли мне понадобится ACCESS_COARSE_LOCATION разрешения? Что такое прецедент, где мне нужно грубое место?

+0

'ACCESS_COARSE_LOCATION' включает в себя разрешение только для' 'NETWORK_PROVIDER' не GPS' –

+1

@IntelliJAmiya: Я уверен, что вы все равно можете использовать «GPS_PROVIDER» даже с грубым разрешением, но данные будут путаны, чтобы ввести меру неточности, для обеспечения конфиденциальности. – CommonsWare

+0

@CommonsWare Sir. Спасибо за Вашу информацию . –

ответ

31

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

No.

Что проку случай, когда мне нужно грубое местоположение?

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

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

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

+3

Хорошо разработан. –

+0

Как мы узнаем, что провайдер местоположения в сервисе Google Play подключен api? Это может происходить из NETWORK_PROVIDER или GPS_PROVIDER. –

+0

@RohitBandil: Вы не знаете, что будет использовать API с плавным местоположением. Вы скажете API с плавленым местоположением, что бы вы хотели. Он решит оттуда. И, AFAIK, если вы только держите 'ACCESS_COARSE_LOCATION', это даст вам« нечеткие »результаты. – CommonsWare

3

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

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

this - ссылка для справки.

0

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

Using NETWORK_PROVIDER 
Using GPS_PROVIDER 
  1. Использование NETWORK_PROVIDER

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

  2. Использование GPS_PROVIDER

    Android разрешения, необходимые для использования этого провайдера только ACCESS_FINE_LOCATION

Смежные вопросы