AppCardHost
를 사용하여 앱 카드를 표시하는 앱과 통신합니다.
권한
AppCardHost
를 사용하는 모든 앱에는 다음 권한이 있어야 합니다.
android.permission.INTERACT_ACROSS_USERS_FULL
android.permission.QUERY_ALL_PACKAGES
- (API 수준 34 이상 만 해당)
android.car.permission.BIND_APP_CARD_PROVIDER
초기화
호스트를 초기화하려면 다음을 제공합니다.
- 컨텍스트
updateRate
AppCard 업데이트 속도(밀리초)입니다.fastUpdateRate
EnforceFastUpdateRate
태그가 지정된 구성요소의 업데이트 빈도(밀리초)responseExecutor
AppCard 앱의 응답을 수신하려는 대화목록입니다.
디자인
AppCardHost
은 다음 두 가지 방법 중 하나로 상호작용할 수 있습니다.
AppCardListener
로 등록
또는
AppCardHost
API와 상호작용
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
업데이트를 전송합니다.