Обновления местоположения в Android 11

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

Одноразовый доступ

Рисунок 1. Системный диалог для разрешения местоположения переднего плана включает опцию, называемую Только в этот раз .

На устройствах с Android 11 и более поздних версий, когда ваше приложение запрашивает доступ к данным о местоположении на переднем плане , диалоговое окно системных разрешений включает параметр « Только в этот раз» , как показано на рисунке 1. Этот параметр предоставляет пользователям больше контроля над тем, когда приложение может получать доступ к информации о местоположении.

Узнайте больше о том, как система обрабатывает одноразовые разрешения .

Фоновый доступ к местоположению

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

Если функция вашего приложения получает доступ к данным о местоположении в фоновом режиме, убедитесь, что такой доступ необходим. Рассмотрите возможность получения информации, необходимой функции, другими способами, как описано на странице о доступе к данным о местоположении в фоновом режиме .

Запросите местоположение фона отдельно

Как описано в руководстве по запросу доступа к данным о местоположении во время выполнения , следует выполнять инкрементные запросы. Если ваше приложение предназначено для Android 11 или более поздних версий, система применяет эту передовую практику. Если вы одновременно запрашиваете разрешение на доступ к данным о местоположении в активном режиме и в фоновом режиме, система игнорирует запрос и не предоставляет приложению ни одно из этих разрешений.

Изменения в диалоговом окне разрешений

Изменить детали

Изменить имя : BACKGROUND_RATIONALE_CHANGE_ID

Изменить идентификатор : 147316723

Как переключить

При тестировании совместимости вашего приложения с Android 11 вы можете включить или отключить это изменение с помощью следующих команд ADB:

adb shell am compat enable (147316723|BACKGROUND_RATIONALE_CHANGE_ID) PACKAGE_NAME
adb shell am compat disable (147316723|BACKGROUND_RATIONALE_CHANGE_ID) PACKAGE_NAME

Дополнительную информацию о фреймворке совместимости и переключении изменений см. в разделе Тестирование и отладка изменений поведения платформы в вашем приложении .

Когда функция вашего приложения запрашивает данные о местоположении в фоновом режиме на устройстве под управлением Android 11 или более поздней версии, в системном диалоговом окне отсутствует кнопка для включения доступа к данным о местоположении в фоновом режиме. Чтобы включить доступ к данным о местоположении в фоновом режиме, пользователи должны установить параметр «Разрешить постоянно» для разрешения на доступ к данным о местоположении вашего приложения на странице настроек, как описано в руководстве по запросу данных о местоположении в фоновом режиме .

Дополнительные ресурсы

Дополнительную информацию о доступе к фоновому местоположению можно найти в следующих материалах:

Видео