หากต้องการสร้าง AppCard แอปต้องสร้างผู้ให้บริการในไฟล์ Manifest ที่ขยาย AppCardContentProvider AppCardContentProviderจะซ่อนรายละเอียดพื้นฐาน
เพื่ออำนวยความสะดวกในการสร้าง AppCard
การประกาศไฟล์ Manifest
หากต้องการสร้าง AppCard แอปต้องสร้างผู้ให้บริการในไฟล์ Manifest เพื่อขยาย
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เพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่คาดคิดประกาศตัวกรอง Intent ที่อิงตามการดำเนินการ
com.android.car.appcard.APP_CARD_PROVIDER
ขยาย AppCardContentProvider
ส่วนนี้จะอธิบายเมธอดสุดท้ายของ override และ protected
วิธีการลบล้าง
val authority: Stringandroid:authoritiesfun onCreate(): Booleansuper.onCreate() ใช้วิธีนี้
เพื่อตั้งค่าฟังก์ชันการทำงานที่อาจทำให้เกิดความล่าช้าหากตั้งค่า
เมื่อมีการขอ AppCardval appCardIds: Listfun onAppCardAdded(String, AppCardContext): AppCardAppCardContext ที่ให้
คำแนะนำเกี่ยวกับวิธีแสดง AppCard
ใช้วิธีนี้เพื่อตั้งค่าฟังก์ชันการทำงานที่ AppCards กำหนดให้ในฐานะผู้ให้บริการ เมื่อเรียกใช้ฟังก์ชันนี้ ระบบจะถือว่า AppCard ที่ สอดคล้องกับรหัสที่ระบุใช้งานอยู่
fun onAppCardRemoved(String)fun onAppCardContextChanged(String, AppCardContext)AppCardContext ที่อัปเดตแล้ววิธีการสุดท้ายที่ได้รับการปกป้อง
fun sendAppCardUpdate(AppCard)fun sendAppCardComponentUpdate(String, Component)EnforceFastUpdateRate ระบบจะส่งการอัปเดตทันทีคำถามที่พบบ่อย
ตัวอย่างการใช้งานอยู่ที่ไหน