AppCardHost를 사용하여 앱 카드를 표시하는 앱과 통신합니다.
권한
AppCardHost를 사용하는 모든 앱에는 다음 권한이 있어야 합니다.
android.permission.INTERACT_ACROSS_USERS_FULLandroid.permission.QUERY_ALL_PACKAGES- (API 수준 34 이상 만 해당)
android.car.permission.BIND_APP_CARD_PROVIDER
초기화
호스트를 초기화하려면 다음을 제공합니다.
- 컨텍스트
updateRateAppCard 업데이트 속도(밀리초)입니다.fastUpdateRateEnforceFastUpdateRate태그가 지정된 구성요소의 업데이트 빈도(밀리초)responseExecutorAppCard 앱의 응답을 수신하려는 대화목록입니다.
디자인
AppCardHost은 다음 두 가지 방법 중 하나로 상호작용할 수 있습니다.
AppCardListener로 등록
또는
AppCardHostAPI와 상호작용
AppCardListener
AppCardListener 구성요소는 AppCardHost에 자체를 등록하여 AppCardHost 및 AppCard 앱의 커뮤니케이션 업데이트를 수신합니다.
AppCardListener의 인터페이스 함수는 여기에 자세히 설명되어 있습니다.
fun onAppCardReceived(AppCardContainer)appIdentifier를 제공하는 AppCardContainer로 전송됩니다.fun onComponentReceived(AppCardComponentContainer)Identifier, 구성요소가 연결된 AppCard를 가리키는 문자열 ID를 제공하는 AppCardComponentContainer로 전송됩니다.fun onProviderRemoved(String, String?)authority가 {@code null}이면 전체 패키지가 삭제된 것입니다.
fun onProviderAdded(String, String?)사용 예 이 함수를 트리거로 사용하여 앱 카드 선택 도구에서 사용 가능한 모든 앱 카드를 새로고침합니다. authority가 {@code null}이면 전체 패키지가 추가된 것입니다.
fun onPackageCommunicationError(appIdentifier, Throwable)AppCardHost가 AppCard 제공업체와 통신할 때 오류가 발생하면 트리거됩니다.
사용 예 이 메서드를 사용하여 사용자가 선택한 AppCard에 오류가 발생했음을 사용자에게 표시합니다.
API
fun refreshCompatibleapp()fun destroy()fun registerListener(AppCardListener)AppCardListener를 등록하는 데 사용됩니다.fun unregisterListener(AppCardListener)AppCardListener를 등록 취소하는 데 사용됩니다.fun getAllAppCards(AppCardContext)AppCardListener에 시스템에 제공된 모든 AppCard를 제공하고 제공업체에 AppCard의 구조를 구성하는 방법에 관한 힌트를 제공하는 지정된 AppCardContext를 제공합니다.fun requestAppCard(AppCardContext, appIdentifier, String)AppCardListener에 특정 AppCard를 제공합니다. 이때 AppCard의 구조를 지정하는 방법에 관한 힌트를 제공하는 AppCardContext를 제공합니다.fun notifyAppCardRemoved(appIdentifier, String)fun notifyAppCardInteraction(appIdentifier, String, String, String)AppCardMessageConstants.InteractionMessageConstants.MSG_INTERACTION_ON_CLICK로 표시되는 버튼 클릭입니다.
appIdentifier, 앱 카드 ID, 구성요소 ID, 상호작용 ID를 사용하여 이 함수를 호출하는 onClick 리스너가 있는 앱 카드의 버튼을 만드는 것이 좋습니다.fun sendAppCardContextUpdate(AppCardContext, appIdentifier, String)AppCardContext 업데이트를 전송합니다. 예를 들어 주차 모드에서 주행 모드로 전환할 때 이 메서드를 사용하여 활성 AppCard별로 isInteractable가 false로 설정된 AppCardContext 업데이트를 전송합니다.