모바일 앱을 Android Automotive OS 기기에 가져오는 프로세스를 간소화하기 위해 특정 자동차에는 기존 모바일 앱을 자동차에 가져올 때 발생하는 일반적인 문제를 해결하는 호환성 모드가 제공됩니다.
이 호환성 모드는 자동차 지원 모바일 앱 프로그램에서 사용되지만 이 프로그램에 속하지 않은 앱도 이 모드에서 실행할 수 있습니다.
호환성 모드 이해
Android Automotive OS 호환성 모드는 일부 차량에서 Android Automotive OS에서 실행할 때 휴대기기용으로 빌드된 앱의 사용자 환경을 개선하기 위해 사용할 수 있는 소프트웨어 기능입니다.
뒤로 탐색
다른 폼 팩터와 달리 Android Automotive OS 기기에는 하드웨어 또는 소프트웨어 뒤로 어포던스가 필요하지 않습니다. 호환성 모드는 하드웨어 버튼, 소프트웨어 버튼, 동작 등 시스템에서 제공하는 뒤로 어포던스를 요구하여 이 문제를 해결합니다. 이렇게 하면 앱이 자체 UI 요소를 통해서만 탐색 가능성을 보장할 필요가 없습니다.

호환성 모드를 사용하여

호환성 모드가 적용되지 않음
안전 영역 렌더링
자동차에서는 시스템 표시줄 및 디스플레이 컷아웃과 같은 소프트웨어 및 하드웨어 요소로 인해 주로 휴대기기용으로 개발된 앱의 가정이 무너질 수 있습니다. 호환성 모드는 앱이 안전한 영역에서 렌더링되도록 하여 이 문제를 해결합니다.
밀도 확장
자동차의 상호작용 거리는 다른 대형 화면 기기보다 길기 때문에 자동차에서 실행할 때 터치 영역과 글꼴 크기가 권장보다 작을 수 있습니다. 호환성 모드는 OEM이 앱을 렌더링할 때 사용되는 DPI 배율을 지정할 수 있도록 허용하여 이 문제를 해결합니다.
활동 수명 주기
주차 앱에 Android Automotive OS 지원 추가에 설명된 대로, 운전자의 주의가 분산되는 것을 줄이기 위해 자동차가 운전 모드로 전환될 때 OS에서 앱의 활동을 자동으로 차단합니다. 호환성 모드가 있는 기기에서는 OEM의 차단 UI가 투명해서는 안 되므로 앱이 더 이상 표시되지 않고 차단되면 중지됨 수명 주기 상태로 전환됩니다.
호환성 모드 구성
기본적으로 앱의 활동은 기기에서 호환성 모드를 지원하는 경우 호환성 모드로 실행됩니다. android.hardware.type.automotive
기능의 <uses-feature>
요소가 매니페스트에 있는 경우 활동이 호환성 모드에서 실행되지 않습니다.
<application ...>
...
<uses-feature android:name="android.hardware.type.automotive" ...>
...
</application>
활동이 앞서 설명한 <uses-feature>
요소와 관계없이 디스플레이 호환성 모드에서 실행되도록 하려면 앱 매니페스트에 다음 <meta-data>
요소를 추가하면 됩니다.
<application ...>
...
<meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
...
</application>
호환성 모드에서 앱 테스트
호환성 모드에서 앱을 테스트하려면 호환성 모드가 적용된 일반 시스템 이미지 또는 Pixel Tablet의 Android Automotive OS 시스템 이미지를 사용하면 됩니다.
기기 지원 결정
Android Automotive OS 호환 모드를 지원하는 기기는 android.software.car.display_compatibility
시스템 기능을 선언해야 합니다. 이 기능을 지원하는 기기를 확인하려면 Play Console의 기기 카탈로그를 사용하세요.