Android 카메라 서비스 사용

Android 카메라 서비스는 자동차 기기뿐만 아니라 휴대전화, 태블릿, TV와 같은 다른 폼 팩터에서 사용되는 카메라 스택으로 구성됩니다. 전체 카메라 아키텍처를 보려면 카메라를 참고하세요. 이 페이지에서는 자동차 기기와 관련된 주제와 Android Camera API를 사용하는 방법을 중점적으로 다룹니다.

Android 카메라 서비스 사용 설정

자동차 플랫폼에서 Android 카메라 서비스를 사용 설정하려면 제품의 makefile에서 ENABLE_CAMERA_SERVICEtrue로 지정해야 합니다.

Automotive 관련 카메라 특성

자동차 기기 컨텍스트에서 카메라 HAL은 자동차 폼 팩터에만 해당하는 두 가지 고유한 특성을 포함해야 합니다.

이름 설명
android.automotive.location 차량의 차체 프레임과 관련하여 카메라의 위치를 지정합니다.
android.automotive.lens.facing 차량 차체 프레임과 조수석을 기준으로 카메라 렌즈가 향하는 방향을 나타냅니다.

카메라가 특정 위치 또는 렌즈 방향과 정확하게 일치하지 않는 경우 (android.automotive.location 또는 android.automotive.lens.facing 특성에 *_OTHER가 표시됨) 또는 여러 카메라가 동일한 위치와 방향을 공유하는 경우 카메라 HAL은 앱이 카메라 위치를 정확하게 결정할 수 있도록 추가 특성을 제공해야 합니다. 이러한 특성은 다음과 같습니다.

헤드리스 시스템 사용자에게 액세스 권한 부여

특정 시스템 및 퍼스트 파티(1P) 앱은 헤드리스 시스템 사용자(User 0이라고도 함)로 카메라에 액세스할 수 있습니다. 이 기능을 사용하면 후방 카메라와 같은 안전이 중요한 앱이 포그라운드 사용자 전환과 관계없이 중단 없이 카메라 스트리밍을 계속할 수 있습니다. 플랫폼 서명되고 새 권한 android.permission.CAMERA_HEADLESS_SYSTEM_USER를 보유한 앱만 사용자 0으로 카메라에 액세스할 수 있습니다.

사용자 0으로 카메라에 액세스하는 앱의 경우 카메라 데이터는 로컬에서 사용해야 하며 카메라 데이터에서 파생된 데이터를 포함하여 기기 외부로 전송해서는 안 됩니다(MUST NOT). 이러한 앱은 android.permission.CAMERA 권한을 사전 부여받아야 하며 GAS 요구사항에 관한 운전용 설계에 설명된 사전 부여 권한 정책을 준수해야 합니다.

카메라 개인 정보 보호 허용 목록 구성

이제 OEM은 카메라 개인 정보 보호 전환 버튼의 상태와 관계없이 카메라 액세스를 허용하는 허용 목록에 포함되도록 특정 카메라 앱을 구성할 수 있습니다. 이 기능을 사용하면 사용자가 소셜 미디어, 화상 회의와 같은 엔터테인먼트 앱의 카메라 액세스를 사용 중지하는 동시에 허용 목록에 있는 특정 앱의 카메라 액세스를 허용할 수 있습니다.

android.permission.CAMERA_PRIVACY_ALLOWLIST 권한이 부여된 시스템 및 권한이 있는 앱만 이 기능을 사용할 수 있습니다. Google Automotive 서비스 (GAS) 파트너는 검토를 위해 허용 목록에 추가된 앱을 제출하고 개인 정보 보호 허용 목록 정책을 준수해야 합니다. 자세한 내용은 자동차용 Android를 참고하세요.

허용 목록에 앱 추가하기

etc/sysconfig 디렉터리에서:

  1. 시스템 구성 XML 파일에 앱의 패키지 이름을 추가합니다.

    <!-- In an xml file under etc/sysconfig —>
    
    <!--
    Allowlisted packages for the camera privacy toggle. Users will not be able to turn the privacy on for these packages as OEM requires camera access for these packages to preserve user safety.
    -->
    
    <config>
        <camera-privacy-allowlisted-app package="package_name" />
    </config>
    
  2. 앱의 개인정보처리방침 공개 URL을 AndroidManifest.xml에 추가합니다. meta-data의 이름은 privacy_policy여야 합니다.

    <meta-data android:name="privacy_policy" android:value= privacy policy URL/>
    

기본적으로 허용 목록에 있는 앱 또는 필수 앱의 카메라 개인 정보 보호 전환 버튼은 개인 정보 보호 설정 UI에 숨겨져 있습니다. 하지만 OEM은 다음 플래그를 TRUE로 설정하여 이 동작을 재정의할 수 있습니다. 이를 통해 OEM은 환경설정에 따라 필수 앱의 카메라 개인 정보 보호 전환 버튼의 표시 여부를 맞춤설정할 수 있습니다.

<!-- 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)를 참고하세요. 이 카메라 사전 체험판은 차량 외부에 위치한 시스템 카메라로 제한됩니다.