自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
概览
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
AppCard 是一组由 OEM 控制样式的界面元素,其中填充了应用提供的信息。AppCard 以易于访问且始终可用的方式向用户显示应用最相关的数据和功能。

图 1. AppCard 组件。
第三方开发者可以使用 AppCard 执行以下操作:
- 在送餐途中向司机显示外卖订单的状态。
- 向车内乘客展示照片,营造愉悦的氛围。
- 跟踪并定期更新加密币的价格,供投资者参考。
例如:

图 2. AppCard 示例。
AppCard
来源: AppCard.kt
AppCard 是一个用于保存数据的对象。我们支持具有两种状态的 ImageAppCard
。定义任何类型的 AppCard 时,每个组件都必须具有唯一的 ID。
图 3. 包含文字的图片。
|
图 4. 包含文字的进度条和按钮。
|
AppCard ContentProvider
来源: AppCardContentProvider.kt
存在于应用中、创建 AppCard 并与 AppCardHost
进行实例化和通信的内容提供程序。如需了解详情,请参阅 AppCardContentProviderExtension。
AppCard Host
来源: AppCardHost.kt
一种连接到 AppCardContentProvider
的系统应用,用于显示和管理应用卡片。如需了解详情,请参阅配置 AppCard 主机。
AppCard 上下文
来源: AppCardContext.kt
一个对象,用于向 AppCardContentProvider
提供有关 AppCardHost
如何显示 AppCard 的提示。AppCardContext
包含以下信息:
- API 级别
以下内容的刷新周期:
- 完成 AppCard 更新
- 带有
EnforceFastUpdateRate
标记的 AppCard 组件
是否为支持与 AppCard 互动的宿主?
图片大小上限:
预期要显示的按钮的最小数量。
借助此信息,AppCard 开发者可以优化发送给主机的信息。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-27。
[null,null,["最后更新时间 (UTC):2025-07-27。"],[],[],null,["# Overview\n\nAn *AppCard* is a grouping of UI elements with styling controlled by the OEM,\nand populated with information provided by apps. AppCards display an app's most\nrelevant data and functionality to users in a way that is accessible and always\navailable.\n\n**Figure 1.** AppCard components.\n\nThird-party developers can use AppCards to:\n\n- Display the status of a takeout food order to a driver while en route.\n- Show photos to passengers in vehicles to form a pleasant ambiance.\n- Track and periodically update the price of crypto coins for investors.\n\nExamples include:\n\n**Figure 2.** AppCard examples.\n\nAppCard\n-------\n\n**Source:** [`AppCard.kt`](https://android.googlesource.com/platform/packages/apps/Car/libs/+/refs/tags/ub-automotive-master-20250418/car-app-card-lib/app-card/src/main/java/com/android/car/appcard/AppCard.kt)\n\nAn AppCard is an object that holds data. We support an `ImageAppCard`, that has\ntwo states. When defining any type of AppCard, each component must have a\nunique ID.\n\n|--------------------------------|---------------------------------------------------|\n| **Figure 3.** Image with text. | **Figure 4.** Progress bar and buttons with text. |\n\nAppCard ContentProvider\n-----------------------\n\n**Source:** [`AppCardContentProvider.kt`](https://android.googlesource.com/platform/packages/apps/Car/libs/+/refs/tags/ub-automotive-master-20250418/car-app-card-lib/app-card/src/main/java/com/android/car/appcard/AppCardContentProvider.kt)\n\nA content provider that exists in an app, creates AppCards, and is instantiated\nand communicates with `AppCardHost`. To learn more, see\n[AppCardContentProviderExtension](/docs/automotive/unbundled_apps/appcards/appcard#override).\n\nAppCard Host\n------------\n\n**Source:** [`AppCardHost.kt`](https://android.googlesource.com/platform/packages/apps/Car/libs/+/refs/tags/ub-automotive-master-20250418/car-app-card-host-lib/app-card-host/src/main/java/com/android/car/appcard/host/AppCardHost.kt)\n\nA system app that connects to `AppCardContentProvider`(s) to display and manage\nApp Cards. To learn more, see [Configure an AppCard host](/docs/automotive/unbundled_apps/appcards/host).\n\nAppCard Context\n---------------\n\n**Source:** [`AppCardContext.kt`](https://android.googlesource.com/platform/packages/apps/Car/libs/+/refs/tags/ub-automotive-master-20250418/car-app-card-lib/app-card/src/main/java/com/android/car/appcard/AppCardContext.kt)\n\nAn object that provides hints to an `AppCardContentProvider` about how an\n`AppCardHost` might display an AppCard. `AppCardContext` contains this\ninformation:\n\n- API level\n- Refresh period for:\n\n - Complete AppCard updates\n - AppCard components tagged with `EnforceFastUpdateRate`\n- Is the host to support interactions with AppCard?\n\n- Maximum image size:\n\n - Center image\n - Button image\n - Header image\n- Minimum number of buttons expected to be displayed.\n\nThis information allows AppCard developers to optimize the information sent to\nhosts."]]