Эта функция позволяет отдельно управлять доступом к местоположению включенных в разрешенный список приложений помощи водителю, входящих в состав Android, с помощью переключателя «Использовать местоположение для помощи водителю». Это позволяет этим приложениям получать доступ к местоположению, даже если переключатель «Использовать местоположение» выключен.
- Android 12 не предоставляет общедоступный API для этой функции. Приложения помощи водителю должны запрашивать обновления местоположения, как обычно.
- Android 13 и более поздних версий должен сделать запрос местоположения, чтобы использовать
LocationManager.requestLocationUpdates()
и передать объектLocationRequest
, настроенный с помощьюLocationRequest.setAdasGnssBypass(true)
.
Используйте API обхода местоположения для помощи водителю
В следующих разделах описывается, как использовать API обхода местоположения для помощи водителю. Дополнительные сведения о политике использования см. в разделе Политика обхода разрешенных списков местоположения .
Проверьте состояние переключателя помощи водителю
В Android 13 и более поздних версиях вы можете проверить состояние переключателя помощи водителю, прежде чем запрашивать обновления местоположения.
// Returns the current status of "Use location for driver assistance". locationManager.isAdasGnssLocationEnabled();
Запуск команд Android Debug Bridge (ADB)
Для разработки и тестирования вы можете быстро проверить или изменить статус переключателя помощи водителю, не используя настройки местоположения.
- Чтобы использовать команды ADB для проверки или изменения статуса:
// Gets the status of ADAS location. adb shell cmd location is-adas-gnss-location-enabled // Enables ADAS location. adb shell cmd location set-adas-gnss-location-enabled true // Disables ADAS location. adb shell cmd location set-adas-gnss-location-enabled false
Установить разрешение
См. следующие выпуски Android для конкретных версий:
- В Android 12 приложения помощи водителю должны иметь разрешение WRITE_SECURE_SETTINGS .
- В Android 13 и более поздних версиях требуется разрешение
LOCATION_BYPASS
.
Добавьте приложение в белый список на своем устройстве
В каталоге etc/sysconfig
:
- Добавьте имя пакета приложения в XML-файл конфигурации системы:
<!-- In a xml file under etc/sysconfig–> <config> … <allow-adas-location-settings package="PACKAGE-NAME" /> … </config>
Чтобы ваш пакет отображался в пользовательском интерфейсе настроек местоположения, добавьте имя вашего пакета в config_locationDriverAssistancePackageNames
.
Добавьте URL-адрес приложения для раскрытия политики конфиденциальности в AndroidManifest.xml
. Имя метаданных должно быть privacy_policy
.
<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
Удалить пункт «Использовать местоположение для переключателя помощи водителю».
Если у вас нет приложения помощи водителю на основе определения местоположения, которое запрашивает местоположение у Android, вы можете закомментировать блок кода, чтобы удалить переключатель для настроек местоположения.
- Откройте
packages/apps/Car/Settings/res/xml/location_settings_fragment.xml
, а затем закомментируйте следующий код.<com.android.car.ui.preference.CarUiTwoActionSwitchPreference android:fragment="com.android.car.settings.location.AdasLocationFragment" android:key="@string/pk_location_driver_assistance_state_switch" android:title="@string/location_driver_assistance_toggle_title" android:summary="@string/location_driver_assistance_toggle_summary" settings:controller="com.android.car.settings.location.AdasLocationSwitchPreferenceController" settings:searchable="true"/> <com.android.car.settings.common.DividerPreference/>
- После удаления переключателя установите для
config_defaultAdasGnssLocationEnabled
значениеfalse
.
Запустите набор автомобильных тестов
Google предоставляет тест Automotive Test Suite (ATS), который гарантирует, что все пакеты помощи водителю на устройстве внесены в список разрешенных Google. Тест настраивается удаленно. Вам не нужно ждать следующего выпуска ATS, чтобы добавить новый пакет. Вы можете узнать больше в разделе «Полные автомобильные тесты в коробке».