Служба Android Camera Service (ACS) включает в себя стек камер, используемых в автомобильных устройствах, а также в других форм-факторах, таких как мобильные телефоны, планшеты и телевизоры. Чтобы ознакомиться с общей архитектурой камер, см. раздел «Камера» . Эта страница посвящена темам, связанным с автомобильными устройствами, и работе с API Android Camera .
Включить службу камеры Android
Чтобы включить службу Android Camera Service на автомобильной платформе, в make-файле продукта необходимо указать ENABLE_CAMERA_SERVICE
как true
.
Характеристики автомобильной камеры
В контексте автомобильных устройств камера HAL должна включать в себя две отличительные характеристики, характерные для автомобильного форм-фактора:
Элемент | Описание |
---|---|
android.automotive.location | Определяет расположение камер относительно кузова транспортного средства. |
android.automotive.lens.facing | Указывает направление, в котором направлен объектив камеры относительно кузова транспортного средства и пассажирских сидений. |
В ситуациях, когда камеры не точно совпадают с определённым местоположением или ориентацией объектива (на что указывает наличие *_OTHER
в характеристиках android.automotive.location
или android.automotive.lens.facing
), или когда несколько камер находятся в одном и том же месте и направлении, HAL камеры должен предоставлять дополнительные характеристики, позволяющие приложениям точно определять местоположение камеры. Эти характеристики включают:
Предоставить доступ пользователю Headless System
Некоторые системные и сторонние приложения (1P) могут получить доступ к камере как пользователь Headless System, также известный как Пользователь 0. Это помогает убедиться, что критически важные для безопасности приложения, такие как камера заднего вида, могут продолжать потоковую передачу изображения с камеры без прерываний, независимо от переключения активного пользователя. Доступ к камере как Пользователь 0 могут получить только приложения, подписанные платформой и имеющие новое разрешение android.permission.CAMERA_HEADLESS_SYSTEM_USER
Для приложений, получающих доступ к камерам от имени пользователя 0, данные с камеры ДОЛЖНЫ потребляться локально и НЕ ДОЛЖНЫ передаваться с устройства, включая любые данные, полученные с камеры. Эти приложения требуют предварительного предоставления разрешения android.permission.CAMERA
и должны соответствовать политике предварительного предоставления разрешений, изложенной во встроенных требованиях Design for Driving для Google.
Настройте список разрешенных параметров конфиденциальности камеры
Производители оригинального оборудования (OEM) теперь могут добавлять определенные приложения камеры в разрешённый список, предоставляющий доступ к камере независимо от состояния переключателя конфиденциальности камеры. Эта функция позволяет пользователям запретить доступ к камере для развлекательных приложений, таких как социальные сети и видеоконференции, одновременно разрешая доступ к камере определённым приложениям из разрешённого списка.
Эту функцию могут использовать только системные и привилегированные приложения, которым предоставлено разрешение android.permission.CAMERA_PRIVACY_ALLOWLIST
. Партнеры Google Automotive Services (GAS) должны отправить свои приложения в разрешённый список для проверки и соблюдать политику конфиденциальности в отношении разрешённого списка. Подробнее см. в разделе Android для автомобилей .
Добавить приложение в белый список
В каталоге etc/sysconfig
:
Добавьте имя пакета приложения в XML-файл конфигурации системы:
<!-- In an xml file under etc/sysconfig -> <!-- Allowlisted packages for the camera privacy toggle. Users can't turn on privacy for these packages as OEM requires camera access for these packages to preserve user safety. --> <config> <camera-privacy-allowlisted-app package="package_name" /> </config>
Добавьте URL-адрес приложения для раскрытия политики конфиденциальности в файл
AndroidManifest.xml
. Имяmeta-data
должно бытьprivacy_policy
.<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
По умолчанию переключатель приватности камеры для приложений из списка разрешённых или обязательных приложений скрыт в интерфейсе настроек конфиденциальности . Однако производители оригинального оборудования могут переопределить это поведение, установив следующий флаг в значение true
. Это позволяет производителям оригинального оборудования настраивать видимость переключателя приватности камеры для обязательных приложений в соответствии со своими предпочтениями.
<!-- Whether to show the toggle to turn on the camera privacy for required apps -->
<bool name="config_show_camera_required_apps_toggle">false</bool>
Получите ранний доступ к камере
Некоторые приложения, чувствительные ко времени и ориентированные на безопасность, могут получить доступ к камере до завершения загрузки Android. Однако этот доступ предоставляется исключительно привилегированным клиентам с UID AID_AUTOMOTIVE_EVS
. Подробнее о назначении определённого UID системному приложению см. в разделе «Дискретное управление доступом (DAC)» . Этот ранний доступ к камере ограничен системными камерами, расположенными снаружи кузова автомобиля.