برای ایجاد یک AppCard، یک برنامه باید ارائه دهنده ای در مانیفست ایجاد کند که AppCardContentProvider
گسترش دهد. AppCardContentProvider
جزئیات اساسی را برای تسهیل ایجاد AppCards خلاصه می کند.
اعلامیه آشکار
برای ایجاد یک 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 را گسترش دهید
این بخش روش های نهایی را باطل و محافظت شده شرح می دهد.
نادیده گرفتن روش ها
val authority: String
android:authorities
manifest استفاده کنید.fun onCreate(): Boolean
super.onCreate()
را فراخوانی کند. از این روش برای راهاندازی عملکردی استفاده کنید که در صورت درخواست AppCard، میتواند باعث تأخیر شود.val appCardIds: List
fun onAppCardAdded(String, AppCardContext): AppCard
AppCardContext
را ارائه می دهد که نکاتی را در مورد نحوه نمایش AppCard ارائه می دهد.از این روش برای تنظیم هر گونه عملکرد مورد نیاز AppCardهایی که به عنوان ارائه دهنده پشتیبانی می شوند، استفاده کنید. پس از فراخوانی این تابع، AppCard که با شناسه داده شده مطابقت دارد فعال در نظر گرفته می شود.
fun onAppCardRemoved(String)
fun onAppCardContextChanged(String, AppCardContext)
AppCardContext
به روز شده ارسال می کند.روش های نهایی محافظت شده
fun sendAppCardUpdate(AppCard)
fun sendAppCardComponentUpdate(String, Component)
EnforceFastUpdateRate
برچسب گذاری شده باشد، به روز رسانی بلافاصله ارسال می شود.سوالات متداول
پیاده سازی های نمونه کجا هستند؟