AppCard를 만들려면 앱이 매니페스트에서 AppCardContentProvider
를 확장하는 제공자를 만들어야 합니다. AppCardContentProvider
는 기본 세부정보를 추상화하여 AppCard 생성을 용이하게 합니다.
매니페스트 선언
AppCard를 만들려면 앱이 매니페스트에서 제공자를 만들어 AppCardContentProvider
를 확장해야 합니다.
<provider android:name=".SimpleAppCardContentProvider"
android:authorities="com.example.appcard.sample.media"
android:permission="@string/host_permission"
android:exported="true"
android:enabled="true">
<intent-filter>
<action android:name="com.android.car.appcard.APP_CARD_PROVIDER" />
</intent-filter>
</provider>
패키지당 하나의 제공자만 정의할 수 있으며 다음 속성을 사용합니다.
android:exported="true"
android:enabled="true"
android:permission="@string/host_permission"
또는
android:readPermission="@string/host_permission"
그리고
android:writePermission="@string/host_permission"
@string/host_permission
는 AppCard 라이브러리에 있으며 시스템의 Android API 버전에 따라 권한을 정의합니다.문자열 리소스 사용은 Gradle로 빌드할 때만 작동합니다. Soong을 사용하는 경우 적절한 리소스 한정자에 따라 문자열 리소스 값으로 명시적 문자열을 지정합니다.
(기본값)
android:grantUriPermissions="false"
(기본값)
android:forceUriPermissions="false"
예기치 않은 결과를 방지하려면 공급자가
android:authorities
에 하나의 권한을 정의해야 합니다.작업 기반 인텐트 필터
com.android.car.appcard.APP_CARD_PROVIDER
선언
AppCardContentProvider 확장
이 섹션에서는 override 및 protected 최종 메서드를 설명합니다.
메서드 재정의
val authority: String
android:authorities
매니페스트 속성에 정의된 기관을 반환합니다.fun onCreate(): Boolean
super.onCreate()
를 호출해야 합니다. 이 메서드를 사용하여 AppCard가 요청될 때 설정하면 지연을 일으킬 수 있는 기능을 설정하세요.val appCardIds: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
을 제공합니다.
이 메서드를 사용하여 제공자로 지원되는 AppCards에 필요한 기능을 설정합니다. 이 함수가 호출되면 지정된 ID에 해당하는 AppCard가 활성으로 간주됩니다.
fun onAppCardRemoved(String)
fun onAppCardContextChanged(String, AppCardContext)
AppCardContext
를 전송할 때 호출됩니다.보호된 최종 메서드
fun sendAppCardUpdate(AppCard)
fun sendAppCardComponentUpdate(String, Component)
EnforceFastUpdateRate
가 태그된 경우 업데이트가 즉시 전송됩니다.FAQ
샘플 구현은 어디에 있나요?