Как камера изменилась в Android 12 — ключевые нововведения и что с этим делать

Коротко: Android 12 добавил доступ к vendor‑extensions в Camera2, поддержку Quad/Nona‑Bayer сенсоров, AVIF и совместное транскодирование видео, а также визуальные индикаторы и переключатели приватности — всё это упрощает интеграцию фирменных режимов и повышает безопасность. Ниже — что именно изменилось и практические шаги.

Ключевые нововведения

  • Vendor‑extensions в Camera2: теперь приложения на Camera2 могут запрашивать фирменные режимы (Bokeh, Night, HDR) без обходных путей. Это даёт доступ к OEM‑обработке прямо из платформы.
  • CameraExtensionCharacteristics: API для проверки доступности расширений, допустимых размеров и задержек захвата — обязательно проверяйте перед включением режима.
  • Quad / Nona‑Bayer: учёт группировки пикселей влияет на выбор потоков (preview/full/RAW) и на предобработку изображений для минимизации шума.
  • AVIF: нативная поддержка более эффективного формата изображений, полезна для экономии места и передачи по сети.
  • Совместимое транскодирование: система может автоматически перекодировать современные кодеки (HEVC) в более совместимые (AVC) для воспроизведения в старых плеерах.

Коротко для разработчика: начните с CameraX для быстрого решения, а для тонкой настройки используйте Camera2 Extensions API и заранее проверяйте CameraExtensionCharacteristics.

Приватность и системные настройки

  • Индикаторы доступа: в статус‑баре видно, когда камера или микрофон задействованы; через UI можно узнать, какое приложение и когда использовало датчик.
  • Quick Settings: переключатели для мгновенного блокирования камеры/микрофона для всех приложений. Проектируйте UX с учётом возможности полного блокирования доступа.
  • Privacy Dashboard: хронология обращений к камере и управление разрешениями.

При тестировании учитывайте, что пользователи могут в любой момент отключить доступ к камере через быстрые настройки — приложение должно корректно это обрабатывать.

Практические рекомендации

Для разработчиков

  • По возможности используйте CameraX: покрывает большинство сценариев и упрощает поддержку diverse‑устройств.
  • Если нужен контролируемый доступ к vendor‑extensions — используйте Camera2 Extensions API и всегда проверяйте availability через CameraExtensionCharacteristics.
  • Тесты для Quad/Nona‑Bayer: проверяйте поведение preview vs full resolution, сравнивайте метаданные сенсора и протестируйте RAW/алгоритмы шумоподавления.
  • Поддержка AVIF: реализуйте fallback в JPEG при проблемах совместимости у клиентов или библиотек отображения.
  • Сценарий fallback — алгоритм: 1) проверить список поддерживаемых расширений; 2) запросить параметры (размеры/latency); 3) при отсутствии — переключиться на стандартный режим.

Пример псевдокода (концепция проверки расширения):

val extChars = cameraManager.getExtensionCharacteristics(cameraId)
if (extChars.supports(EXTENSION_NIGHT)) {
  enableNightExtension(cameraId)
} else {
  useStandardNightProcessing()
}

Для пользователей

  • Используйте Privacy Dashboard и Quick Settings для контроля доступа.
  • Если приложение не открывает AVIF — обновите просмотрщик или экспортируйте в JPEG при расшаривании.

Частые ошибки

  • Предположение, что поддержка расширения у одного производителя означает одинаковое качество у всех — внимательное тестирование обязательно.
  • Игнорирование режима pixel grouping → артефакты или неправильные размеры изображений.
  • Необработанный случай, когда пользователь блокирует камеру через Quick Settings — приложение должно корректно сообщать и сохранять состояния.

FAQ

  • Можно ли обходиться без Camera2 Extensions? Да — для многих задач CameraX достаточно. Для полного доступа к OEM‑режимам нужен Camera2 Extensions API.
  • AVIF повсеместно поддерживается? На Android 12 платформа поддерживает AVIF, но сторонние библиотеки и старые просмотровщики могут не отображать его корректно — делайте fallback.
  • Как проверить, используется ли камера фоном? Смотрите индикатор в статус‑баре и историю в Privacy Dashboard.

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