Я знаю, что есть два разных типа разрешений местоположения
ACCESS_COURSE_LOCATION
ACCESS_FINE_LOCATION
Я знаю, что для использования местоположения из Android M нам требуется разрешение от пользователя. Теперь проблема в том, что и ACCESS_COURSE_LOCATION
, и ACCESS_FINE_LOCATION
подпадают под одно и то же ведро, и это означает, что предоставление одного разрешения времени выполнения предоставит другое без запроса пользователя.
Итак, теперь я сомневаюсь, что если я просто спрашиваю ACCESS_COURSE_LOCATION
разрешение и все еще могу иметь ACCESS_FINE_LOCATION
, тогда зачем мне запрашивать ACCESS_FINE_LOCATION
? Могу ли я просто получить точное местоположение с разрешением ACCESS_COURSE_LOCATION
?
Кроме того, я запрашиваю исправление местоположения по приведенным ниже критериям
Criteria criteria = new Criteria();
criteria.setBearingAccuracy(Criteria.ACCURACY_MEDIUM);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
riteria.setCostAllowed(false);
Итак, как два разных разрешения влияют на определение местоположения, которое я получаю с помощью вышеуказанных критериев?
РЕДАКТИРОВАТЬ 1: Перефразируя вопрос. Я знаю о различных провайдерах, таких как GPS, сеть и т. Д., И о том, какое разрешение им требуется. Вот почему я сомневаюсь, что если предоставление ACCESS_COURSE_LOCATION
может привести к предоставлению ACCESS_FINE_LOCATION
. Тогда может ли у нас быть ситуация во время жизненного цикла приложения, когда нам предоставляется только ACCESS_COURSE_LOCATION
? Кроме того, как поведут себя вышеуказанные критерии?
РЕДАКТИРОВАТЬ 2: В нескольких других ответах StackOverflow говорится, что ACCESS_COURSE_LOCATION
можно исключить, когда предоставлено ACCESS_FINE_LOCATION
. Но если я просто хочу местоположение курса, я запрашиваю разрешение, а затем запрашиваю определение местоположения, используя вышеуказанные критерии. Так что я должен ожидать местоположение курса или прекрасное местоположение? поскольку предоставление местоположения курса также является внутренним предоставлением разрешения на точное местоположение.