Если у меня уже есть ACCESS_FINE_LOCATION, я могу опустить ACCESS_COARSE_LOCATION?
У меня есть приложение GPS, которое уже запрашивает разрешение ACCESS_FINE_LOCATION
в манифесте, теперь я хочу добавить библиотеку (MoPub), которая требует ACCESS_COARSE_LOCATION
.
Правильно ли я полагаю, что ACCESS_FINE_LOCATION
достаточно, и я могу оставить ACCESS_COARSE_LOCATION
из моего манифеста?
Ответы
Ответ 1
https://developer.android.com/guide/topics/location/strategies.html#Permission
Примечание. Если вы используете как NETWORK_PROVIDER, так и GPS_PROVIDER, вам необходимо запросить только разрешение ACCESS_FINE_LOCATION, поскольку оно включает разрешение для обоих поставщиков. (Разрешение для ACCESS_COARSE_LOCATION включает разрешение только для NETWORK_PROVIDER.)
Короче: да, вам не нужно ACCESS_COARSE_LOCATION
, если вы уже определили ACCESS_FINE_LOCATION
.
Ответ 2
Зависит от вашей необходимости.
В отношении разрешения ACCESS_FINE_LOCATION
включает ACCESS_COARSE_LOCATION
. Однако есть одна загвоздка:
ACCESS_COARSE_LOCATION
дает вам последнее известное местоположение, которое работает от батареи https://developer.android.com/training/location/retrieve-current.html#setup
Например, если ваше приложение делает что-то вроде рекомендаций на основе местоположения, последнее известное местоположение достаточно хорошо.
Это зависит от Google Play Services
Однако, если вам нужно что-то вроде местоположения в реальном времени/в реальном времени, например Pokemon Go, используйте ACCESS_FINE_LOCATION
Это дает вам жить/в режиме реального времени местоположение. Вам нужно будет использовать LocationListener
В прошлый раз, когда я проверял, это не требует Google Play Services