Разрешения на размещение в трех государствах

Разрешения на определение местоположения с тремя состояниями в Android 10 дают пользователям больше контроля над тем, как приложения получают доступ к местоположению их устройств.

В Android 9 и ниже пользователи постоянно делали выбор при предоставлении доступа к местоположению приложениям. Они могут либо запретить или разрешить, последние из которых дали приложения доступа ко времени (фон и передний план). Разрешения на определение местоположения с тремя состояниями в Android 10 предоставляют пользователям три варианта разрешения приложению доступа к местоположению устройства. Пользователям предлагается предоставить или отклонить уровень разрешений, когда приложение запрашивает его.

Обычно пользователь видит три варианта, представленные на рисунке 1. Однако есть случаи использования, когда требуются только два из этих вариантов, и в таких случаях показаны только эти два.

Tristate location permissions screen
Рисунок 1. Tristate Уведомления экрана

Это три варианта:

  • Разрешить все время: местоположение устройства известно приложению , даже если приложение не используется (в фоновом режиме). Это эквивалентно разрешению в Android 9 и ниже.
  • Разрешить только тогда , когда приложение находится в использовании: ( на переднем плане только) местоположение устройства отображается только в приложение , когда он активно работает.
  • Запретить: расположение устройства никогда не видно приложению. Это то же самое, что запретить разрешение в Android 9 и ниже.

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

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

Диалоговое окно появляется при следующих условиях для приложений, ориентированных на Android 10:

  • По истечении как минимум 24 часов после предоставления разрешения.
  • Только если приложение получает данные о местоположении в фоновом режиме.
  • Когда экран включен, а пользователь не использует другое приложение.
Incremental permissions
Разрешений Рисунок 2. Возрастающие

Чтобы узнать больше о запросе разрешений см App доступ к хранилищу устройства . Для получения дополнительной информации , если ваше приложение цель Android 9 и ниже, см Продолжения действия пользователя .

Влияние

Функция разрешения трехстороннего определения местоположения влияет на любое приложение, которому требуется доступ к местоположению устройства во время работы в фоновом режиме, и она требуется в Android 10.

Вы можете изменить свой код , но вы не можете изменить или настроить разрешение связанного поведения в рамках.

Реализация

Разрешения на трехстороннее местоположение применяются к приложениям в Android 10 независимо от целевого SDK приложения.

Для получения информации о реализации сценариев использования своего приложения (на модернизации), обратитесь к Дизайну для устройства сценариев обновления раздела в документации разработчика.

Для того, чтобы увидеть , как разрешить доступ для различных вариантов использования (например, требующие фонового определения местоположения для приложений , таких как Google Maps или Google Play услуг), просматривать эти темы на доступ к App к месту расположения устройства странице:

Доступ к местоположению в приложении

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

Приложение с типом разрешения должно запросить Возможности пользователя для предоставления
Приложение запрашивает только разрешения переднего плана Разрешить только при использовании приложения
Отрицать
Приложение всегда запрашивает разрешение (передний план и фон) Разрешить все время
Разрешить только при использовании приложения
Отрицать
Все приложения с запросами доступа к местоположению Разрешить только при использовании приложения

Эти разрешения применяются ко всем запросам местоположения. Приложения , Разрешить только при использовании разрешения для приложения не имеет фон Wi-Fi или сканирование ячеек.

На Android 11 или ниже, приложение с Разрешить только при использовании разрешений приложения не разрешены сканирования фона Bluetooth. Из Android 12, приложение с Разрешить только при использовании разрешения приложения может получить результаты сканирования Bluetooth, установив значение android:usesPermissionFlags атрибута neverForLocation . Для получения более подробной информации см приложение не получает физическое местоположение .

Обновления ОС

При обновлении ОС до Android 10 разрешения местоположения приложения преобразуются в соответствии со следующим:

  • На становится Разрешить только во время использования.
  • Off остается выключенным (Запретить).
  • Предварительно предоставлен доступ к местоположению становится Разрешить только во время использования до выдачи патента.