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