車輛應用程式
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 6 月 26 日 | 1.4.0 | - | 1.7.0-beta01 | - |
宣告依附元件
如要為車輛應用程式程式庫新增依附元件,您必須為專案新增 Google Maven 存放區。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { implementation "androidx.car.app:app:1.4.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.4.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.4.0" // For testing testImplementation "androidx.car.app:app-testing:1.4.0" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.4.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.4.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.4.0") // For testing testImplementation("androidx.car.app:app-testing:1.4.0") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.7 版
1.7.0-beta01 版
2024 年 6 月 26 日
發布 androidx.car.app:app-*:1.7.0-beta01
。1.7.0-beta01 版包含這些修訂版本。功能與 Alpha01 版本相同,這些更動如下:
新功能
- 含有內容的地圖:新的範本是地圖畫布,再加上內容範本,目前可能是「清單」/「格線」、「窗格」/「訊息」。
RoutePreview
、PlaceListNavigation
和MapTemplate
現已淘汰。範本仍會照常運作。- 範例應用程式已更新,現在會顯示
MapWithContent
使用情形,而非已淘汰的範本
- 對話項目:新增 API,可在車上顯示對話 (即時訊息、簡訊) 和 Google 助理朗讀功能。
- 車輛尺寸:全新的 API 可用於擷取車輛測量資料 (目前 AAOS 上的資料)。
API 變更
- 在
MediaPlaybackTemplate.Builder
中新增@ExperimentalCarApi
標記。(Ic1957)。 - 在實驗功能中新增
SectionedItemTemplate
。(I5958a)。 - 導入
CarAppApiLevel 8
(I3fa22) - 新增
MediaPlaybackTemplate
,以在 Car App Library 中播放媒體時顯示內容。(I3c10d)。 - 為應用程式新增 API,以偵測系統在行車時是否支援背景音訊 (I0f868)
修正錯誤
- 修正 CAL 用戶端程式碼和 CAL Navigation 範例應用程式中的特定記憶體流失和當機問題。(I55e04)
- 將
BaseCarAppActivity
的onDestroy
方法中的requireNotNull instances
替換為 if-null 檢查,以免當機。(Iec676)。
1.7.0-alpha02 版
2024 年 4 月 17 日
發布 androidx.car.app:app-*:1.7.0-alpha02
。1.7.0-alpha02 版包含這些修訂版本。
新功能
- 為地圖範本新增已淘汰的標記,
MapWithContent
範本將支援後續運作。
API 變更
- 淘汰舊的
MapTemplate
、RoutePreviewNavigationTemplate
、PlaceListNavigationTemplate
,並鼓勵使用新的MapWithContentTemplate
(Ib0a08)
1.7.0-alpha01 版
2024 年 4 月 3 日
發布 androidx.car.app:app-*:1.7.0-alpha01
。我們已移動程式庫的版本管理架構,以符合有效的 CarApi 版本。這是為了根據開發人員的意見回饋,減少命名配置的混淆。因此,我們會略過 1.5 / 1.6 版本,直接移至 1.7 1.7.0-alpha01 版,其中包含這些修訂項目。
新功能
- 含有內容的地圖:名為
MapWithContent
的新範本,支援地圖中的清單 / 格線 / 窗格 / 訊息做為內容。RoutePreview
、PlaceListNavigation
和地圖範本現已淘汰。- 範例應用程式使用
MapWithContent
更新,可顯示已淘汰範本的功能。
- 對話項目:新增 API,可在車上顯示對話 (即時訊息、簡訊) 和 Google 助理朗讀功能。
- 車輛尺寸:新的 API 可用於擷取車輛測量資料 (目前 AAOS 上的資料)。
API 變更
- 將額外的小型資料列圖片類型標示為實驗功能 (I5184b)
- 新增了
CarInfo#fetchExteriorDimensions
API,以便存取車輛外部維度資訊,例如高度、寬度等 (Ia40c5) - 已從
MapWithContentTemplate
中移除ExperimentalAPI
標記 (I66db8) - 將
GridItem#setTitle
參數更新為可為空值。(I3d610)。 GetHeader
API 具有回溯相容性,因此不需要 API 7 (I8c812)- 在
ListTemplate
中新增對Header
的支援,淘汰headerAction
、headerTitle
、actionStrip
(I7ae01) - 淘汰
GridTemplate
中的title
、headerAction
、actionStrip
,並新增對Header
的支援 (I41a9c) - 移除實驗性 API 的第 7 級規定:徽章、
GridTemplate
項目大小和圖片形狀 getter/setter,以及取得/設定徽章的GridItem
方法。(Id71eb)。 - 淘汰
PaneTemplate
中的title
、headerAction
、actionStrip
,新增Header
支援 (I23154) - 已將媒體中心遙測資料從「
BroadcastReceiver
」變更為「瀏覽自訂動作」。(I4185f)。 - 已在
MessageTemplate
中新增Header
屬性支援。停止支援ActionStrip
、headerAction
和title
。(Ie2de8)。 - 修改快訊持續顯示設定 (Icf8a8)
- 移除父項範本中的
isLoading
屬性 (I651e6) - 新增額外項目,以通知媒體應用程式主要 UI 參數 (I85ca2)
- 將媒體中心數據分析功能新增至
MediaExtensions
(I7ce28) - 已新增資料列上的額外小圖片選項。(I72c03)。
修正錯誤
- 更新
ConversationItem
的 javadoc,指出訊息應按照最舊到最新順序排序。(I77a2a)。 - 更新
ListTemplate
截斷邏輯,從ConversationItem
中移除最舊的訊息 (Ie0a61)
1.4 版
1.4.0 版
2024 年 5 月 29 日
發布 androidx.car.app:app-*:1.4.0
。1.4.0 版是 1.4.0-rc02 版的促銷活動。
自 1.3.0 版以來的重要異動
- 為導航應用程式進行儀表板地圖轉譯
- 新的分頁範本,改善應用程式版面配置 / 可用性
- 支援自動調整工作限制
- 清單元素的次要動作
1.4.0-rc02 版
2023 年 12 月 13 日
發布 androidx.car.app:app-*:1.4.0-rc02
。1.4.0-rc02 版包含以下修訂項目。僅含小幅修正
修正錯誤
- 更新
ConversationItem
上的 javadoc,指出訊息應從最舊到最新排序 (I77a2a) - 更新
ListTemplate
截斷邏輯,從ConversationItem
中移除最舊的訊息 (Ie0a61)
1.4.0-rc01 版
2023 年 11 月 1 日
已發布「androidx.car.app:app-*:1.4.0-rc01
」,目前沒有任何重大異動。1.4.0-rc01 版包含以下修訂項目。
1.4.0-beta02 版本
2023 年 9 月 20 日
發布 androidx.car.app:app-*:1.4.0-beta02
。1.4.0-beta02 版包含以下修訂項目。這幾乎與 beta01 相同,但 compileSdk
規定降為 33。
修正錯誤
- 修正分頁載入畫面無法正確顯示的錯誤。(cae860)。
1.4.0-beta01 版
2023 年 8 月 9 日
發布 androidx.car.app:app-*:1.4.0-beta01
。1.4.0-beta01 版包含以下修訂項目。
注意:1.4-beta01 需要 compileSdk34,但目前仍在 dev 狀態中。1.4-beta02 會修正這個問題。或者,您可以將
android.suppressUnsupportedCompileSdk=34
新增至專案的settings.gradle
檔案,安全地暫時隱藏警告。
新功能
API 變更
- 查看 alpha02
1.4.0-alpha02 版
2023 年 7 月 26 日
發布 androidx.car.app:app-*:1.4.0-alpha02
。查看 1.4.0-alpha02 版的修訂項目。
- Alpha02 版本的目的在於為即將推出的 beta01 版本準備。
新功能
- 在檢測應用程式支援的儀表板上轉譯地圖
- 為應用程式新增分頁,改善版面配置體驗
- 已新增清單 / 格線範本顯示選項
- 為「天氣」和「通訊」新增類別
- 將多個 API 移至下一個 CarApi 7 版本
API 變更
- 在
CarMessage
中新增多媒體欄位 (I5aaf6) - 在 Car App Library 中新增自訂動作至
ConversationItem
(Ie5ed6) - 新增額外項目,指出以沉浸式音訊格式播放媒體項目,並展示其內容格式標誌 (Icb5bb)
- 新增動作類型
ActionsConstraints
API,以便支援撰寫按鈕。(I31661)。 - 製造
set/getTemplate
為set/get ContentTemplate
(Ica036) - 範本參數現在是
@NonNull
。更新MapWithContentTemplate
API 說明文件 (I0f8ed) - 移除
ListTemplate
中動作的@ExperimentalCarApi
標記,以便在 CAL 1.4 中發布 (I2cfcb) - 移除
TabTemplate
的@ExperimentalCarApi
標記 (Ifcb82) - 從資料列次要動作和裝飾項目中移除
@ExperimentalCarApi
註解 (I8487e) - 將使用中的分頁 Content ID 新增至
TabTemplate
,並淘汰分頁的有效狀態 (I96932) - 在
GridTemplate
中新增ItemImageShape
屬性 (Ibf431) - 在
GridTemplate
中新增ItemSize
屬性,以根據相對的小型、中型和大型值區,控制格線項目的大小。(Icdb3b)。 - 為開發人員開啟 API 存取權,取得目前的畫面堆疊副本。(I48107)。
- 在 Car App Library 中新增天氣應用程式的類別 (I2be44)
- 新增呼叫應用程式至 Car App Library 的類別 (Icab33)
- 已將
GridItem.Builder#setBadge()
替換為超載setImage()
方法 (Id2000) - 在徽章中新增圖示屬性 (I629b2)
- 新增設定點標記背景顏色的方法 (I6411c)
- 在
GridItem
中新增徽章屬性,讓徽章顯示在GridItem
圖片上方。(I95de7)。 - 新增實驗性的 Badge 物件,以代表顯示在圖片上的徽章。(I9878d)。
1.4.0-alpha01 版
2023 年 2 月 22 日
發布 androidx.car.app:app-*:1.4.0-alpha01
。查看 1.4.0-alpha01 版的修訂項目。
API 變更
- 在 Car App Library 中新增頂層動作至
GridTemplate
(Id0191) - 在 Car App Library 中新增頂層動作至
ListTemplate
(I9efab) - 新增額外項目,以連結媒體項目的字幕或其他媒體項目的說明 (Ic84bf)
- 將資料列動作的 API 級別更新為級別 6。(Ie0a69)。
- 新增訊息回呼至 A4C (Ie3986)
修正錯誤
- 為
CarMessage
新增缺少的 Java 文件參照。(I5db1c)。 - 覆寫
ConversationItem
和CarMessage
的equals()
和hashCode()
(I6fd10) - 改善
ConversationItem.mMessages
驗證 (需要非空值、非空白) (Iafc51) - 將
@Keep
註解新增至ConversationItem
欄位 (I5d250) - 更新 java 文件以用於列裝飾和次要動作。(I000b6)。
1.3 版
1.3.0-rc01 版
2022 年 12 月 7 日
發布 androidx.car.app:app-*:1.3.0-rc01
。查看 1.3.0-rc01 版的修訂項目。
- beta01 的小修正錯誤。沒有重大變更。
1.3.0-beta01 版
2022 年 9 月 7 日
發布了 androidx.car.app:app:1.3.0-beta01
、androidx.car.app:app-projected:1.3.0-beta01
、androidx.car.app:app-automotive:1.3.0-beta01
和 androidx.car.app:app-testing:1.3.0-beta01
。1.3.0-beta01 版包含以下修訂項目。
- 使用這個程式庫建立的車輛應用程式現在可以使用 API 級別 5 進入 Play 商店 (請參閱開發指南)。加上 API 級別 5 以下註解的功能可相容於 Android Auto 8.1 以上版本和 Google Automotive App Host 1.4 以上版本。
新功能
除了 Car App Library 1.3.0-alpha01 中添加的功能外,下列功能已成為 Beta01 的一部分 (這裡的所有功能都涉及主機端變更,而不含任何 API 變更):
- 即使使用者位於
PlaceListNavigationTemplate
、RoutePreviewNavigationTemplate
和MapTemplate
的地圖式選取畫面中,浮動導覽列仍會繼續顯示。方法是透過NavigationManager.updateTrip()
更新導航資訊。 - 啟用含有
FLAG_DEFAULT
的動作按鈕,即可設定逾時動畫。逾時後,系統將根據預設點擊這個按鈕。([API 5 - All Templates]
) - 當車輛停妥時,
Row
的子文字不會遭到截斷,但開車時則會截斷成 2 行。([API 5 - All Templates]
) - 支援
Action
、Toggle
、Row
([API 5 - All Templates]
) 的停用狀態
API 變更
- 放寬
MapTemplate
清單中的限制,以支援可選取的清單 (I961ed) - 移除標頭動作的限制,以便使用自訂圖示。(Iad28f)。
- 將限制
setOnClickListenerAllowed()
新增至ActionsConstraints
。允許Action
將OnClickDelegate()
設為標準圖示類型以外的動作。(TYPE_APP_ICON
、TYPE_BACK
和TYPE_PAN
) (I3c745)
修正錯誤
- 新增了 Android Automotive Template Host 1.4 以上版本與曲線螢幕的相容性 (
[Host change]
)
1.3.0-alpha01 版
2022 年 7 月 27 日
發布了 androidx.car.app:app:1.3.0-alpha01
、androidx.car.app:app-projected:1.3.0-alpha01
、androidx.car.app:app-automotive:1.3.0-alpha01
和 androidx.car.app:app-testing:1.3.0-alpha01
。1.3.0-alpha01 版包含以下修訂項目。
加上 API 級別 5 註解的功能可與 Android Auto 7.9 以上版本相容。
新功能
- API 級別 5:導航應用程式可以使用新的
MapTemplate
,在地圖旁顯示窗格或清單內容 (If5826、If44b8) - API 級別 5:新的
CarAudioRecord
API 允許透過主機車輛的麥克風錄製音訊輸入內容 (I5e71a) - API 級別 5:新的
SuggestionManager
API,可讓應用程式為主機提供建議 (I5c103) - API 級別 5:新的
Alert
API 會顯示在NavigationTemplate
的內容通知中 (I163a7、I5ad70) - API 級別 5:新的
Header
和MapController
元件可跨範本重複使用 (If5826) - 新增了
androidx.car.app.category.POI
做為啟用搜尋點應用程式用的類別 (並淘汰androidx.car.app.category.PARKING
和androidx.car.app.category.CHARGING
) (I59da1)
API 變更
- API 級別 5:
SurfaceCallback
介面提供新的onClick
方法,可讓使用者輕觸地圖進行互動 (Ia9777) - API 級別 5:新的旗標
Action.FLAG_IS_PERSISTENT
和Action.FLAG_DEFAULT
可用來描述Action
(I96318、I5ad70) - API 級別 5:
Action
、Row
和Toggle
元件的新啟用/停用狀態 (主機支援約在程式庫 1.3.0-beta01 版推出) (Id8a09) - API 級別 5:在
PlaceListNavigationTemplate.Builder
和RoutePreviewNavigationTemplate.Builder
偏好使用setHeader
的新Header
元件,並淘汰現有的setTitle
和setHeaderAction
方法 (I30e6a) - API 級別 5:
PlaceListMapTemplate.Builder
和PlaceListNavigationTemplate.Builder
上的新的setOnContentRefreshListner
方法,可與新的OnContentRefreshListner
介面實作搭配使用。 - API 級別 5:
TravelEstimate.Builder
新增setTripText
和setTripIcon
,可自訂預估行程資訊卡 (Idcc6d、Ic620d) - 在
PaneTemplate
名稱中加入CarIconSpan
的支援 (Ia1ee0) - 在
Row
標題和文字中加入CarIconSpan
的支援 (Ic1e3c) - 地圖
ActionStrip
現在最多可以設定四個動作 (If3522) - 更新車輛應用程式 API 級別至 5 (I26b8e)
PlaceListMapTemplate
、PlaceListNavigationTemplate
、RoutePreviewNavigationTemplate
、GridTemplate
、ListTemplate
、LongMessageTemplate
、MessageTemplate
、PaneTemplate
和SignInTemplate
的標頭/標題現在是選填項目 (I2078d、Icadde)
修正錯誤
- 更新
PaneTemplate
圖片大小大小規則為正方形定界框 (Idd72e) - 修正了在
State.DESTROYED
之後修改畫面堆疊時發生的例外狀況(I3c8eb)。 - 新增了接收應用程式圖示的空值檢查 (I3f710)
- 更新 Car Hardware API,使其預設使用
STATUS_UNKNOWN
,而非STATUS_UNAVAILABLE
(Ic9444) - 在建立介面前檢查螢幕是否存在 (Ice027a)
- 修正與
STATUS_UNIMPLEMENTED
有關的CarValue.equals()
錯誤 (I24451)
1.2 版本
1.2.0 版
2022 年 11 月 9 日
發布 androidx.car.app:app-*:1.2.0
。1.2.0 版包含此連結所列的修訂項目。
- 這是穩定版,與 v1.2.0-rc01 相比沒有任何異動。
1.2.0-rc01 版
2022 年 3 月 23 日
發布 androidx.car.app:app-*:1.2.0-rc01
。查看 1.2.0-rc01 版的修訂項目。
- 這是穩定版,與
v1.2.0-beta02
相比沒有任何 API 異動。新增實驗功能 (API 級別 5),預計在 Android Auto 和 Android Automotive 的未來版本中推出。
修正錯誤
- 修正了在
State.DESTROYED
之後修改畫面堆疊時發生的例外狀況(I3c8eb)。 - 更新
CarSensors
API,表示 AAOS 並未導入這些 API (Idd57b) - 更新
PlaceListMapTempalte.Builder#setCurrentLocationEnabled
,表示 ACCESS_COARSE_LOCATION 已可滿足未來的需求 (I510c2) - 讓有指定角度的環島路駕駛方式可自選出口號碼 (Ife7d1)
1.2.0-beta02 版
2022 年 1 月 26 日
發布 androidx.car.app:app-*:1.2.0-beta02
。1.2.0-beta02 版包含此連結所列的修訂項目。
凡是使用這個程式庫版本建立並指定 Android Automotive OS
平台的車輛應用程式,現在都可以發布到 Play 商店公開測試管道了。詳情請參閱開發指南。
加上 API 級別 4 以下註解的功能可相容於 Android Auto
7.2 以上和新的 Android Automotive OS
平台。請參閱下方的 Known Issues
一節,瞭解注意事項。
API 變更
- 已將實驗性
setOnContentRefreshListener
API 新增到搜尋點範本 (I6bf22)
修正錯誤
- 修正了車輛主機解除繫結時,
CarAppService
中的記憶體流失問題。(I5c9ca、b/203594731) - 更新
CarAppActivity
javadoc,為 singleTask 啟動模式納入相關規定 (Id2f95) - 減少繼續使用時的視覺故障。(Iff7e0)
已知問題
PlaceListNavigationTemplate
和RoutePreviewNavigateTemplate
中的地圖ActionStrip
將於下一個Android Auto
和Android Automotive OS
版本中推出。
1.2.0-alpha02 版
2021 年 12 月 15 日
發布 androidx.car.app:app-*:1.2.0-alpha02
。1.2.0-alpha02 版包含此連結所列的修訂項目。
加上 API 級別 4 註解的功能已從實驗版升級為穩定版,包括 PlaceListNavigationTemplate
和 RoutePreviewNavigateTemplate
中的地圖 ActionStrip
,Pane
中的 CarIcon
圖片、QRCodeSignInMethod
和在 Action
中設定算繪提示的功能 (例如旗標)。
新功能
- 在 Android Auto 7.1 以上版本中,
Pane
的項目數量上限已從 2 增加為 4。
API 變更
- 已將實驗性的
toString()
方法新增至CarUnit
(I36a3b)
修正錯誤
1.2.0-alpha01 版
2021 年 11 月 3 日
發布 androidx.car.app:app-*:1.2.0-alpha01
。1.2.0-alpha01 版包含此連結所列的修訂項目。
所有新的 v1.2.0
功能 (API 4+) 目前都在實驗階段,目標是在未來的 Android Auto 和 Android Automotive OS 版本中推出。詳情請參閱開發指南。
API 變更
AutomotiveCarInfo
API 進入實驗階段 (Ia13e5)- 新增了 Car App Library API 級別 4 (I2a2e7)
- API 級別 4:新增了在
Pane
中設定CarIcon
的支援功能 (Ifcc12) - API 級別 4:新增了 QR 圖碼登入方法 (Ib623e)
- API 級別 4:在
Action
中新增了設定/getFlags (Ic03ab) - API 級別 4:新增了在
PlaceListNavigationTemplate
和RoutePreviewNavigationTemplate
中支援平移和縮放的功能 (I9d8a3)
修正錯誤
1.1.0 版本
1.1.0 版本
2021 年 12 月 15 日
發布 androidx.car.app:app-*:1.1.0
。查看 1.1.0 版的修訂項。
這是穩定版,與 v1.1.0-rc01
相比沒有任何異動。另請參閱 v1.2.0-alpha02
的版本資訊,進一步瞭解車輛應用程式程式庫的新功能。
自 1.0.0 版本以來的重要變更
- API 級別 2:車輛停放時可用於登入流程的
SignInTemplate
和LongMessageTemplate
- API 級別 2:
NavigationTemplate
中的地圖互動支援 - API 級別 2:支援多重長度文字,讓應用程式能根據車輛螢幕尺寸提供多個版本的字串以供顯示。
- API 級別 3:可用來查詢車輛硬體資料 (例如型號和品牌、油量和其他感應器) 的
CarHardwareManager
。
1.1.0-rc01 版本
2021 年 11 月 3 日
發布 androidx.car.app:app-*:1.1.0-rc01
。1.1.0-rc01 版包含此連結所列的修訂項目。
這是穩定版,與 v1.1.0-beta01
相比沒有任何 API 異動。已新增實驗性功能 (API 級別 4),可望在 Android Auto 未來的版本中推出。如要進一步瞭解實驗性 API,請參閱 v1.2.0-alpha01
的版本資訊。
1.1.0-beta01 版本
2021 年 9 月 1 日
發布 androidx.car.app:app-*:1.1.0-beta01
。1.1.0-beta01 版包含此連結所列的修訂項目。
所有 v1.1.0
功能 (API 2+) 都完全相容於 Android Auto 6.7 以上版本。詳情請參閱開發指南。
API 變更
- 不再以
Manager
做為公開介面 (Ie381b) - 新增了為權限要求設定自訂品牌背景的功能 (I74b76)
- 新增了
ScreenManager.getStackSize
(I0b16a) - 移除了會明確採用
TestCarContext
的ScreenController
建構函式 (Iefebc)
修正錯誤
- 新增了建立
CarHardwareManager
時的 API 級別檢查 (I48f9b) - 針對整個 API 的無效
CarSpan
用途新增檢查作業 (I65ae6) - 修正了以下問題:如果
Screen
在建立期間標示為完成,會使堆疊處於損毀狀態 (I81b13) - 修正以下問題:如果
CarAppExtender
中有含有圖示的動作,CarNotificationManager.notify
就會針對 AutomotiveOS 記錄錯誤 (I3633d) - 為應用程式和主機新增握手方法,以建立 API 版本 (I7d6f8)
1.1.0-alpha02 版
2021 年 7 月 21 日
發布 androidx.car.app:app-*:1.1.0-alpha02
。查看 1.1.0-alpha02 版的修訂項。
新功能
- API 級別 3:新增了
CarHardwareManager
,可用來查詢車輛硬體資料,例如型號和品牌、油量和其他感應器。這項功能目前只開放 Android Auto 6.7 以上版本在公開測試頻道中使用。如要在電腦環境中測試這項功能,則需要使用新版Desktop Head Unit
(將另行發布)。請密切關注測試 Android 車輛應用程式網頁,掌握關於新版本推出時間的詳細資訊。 - 請參閱開發指南和程式庫參考資料瞭解詳情;設計指南則可協助您瞭解如何使用這些相容於 API 級別 3 的車輛主機中的功能。
API 變更
- 將
SessionController
和ScreenController
生命週期方法合併至單一moveToState
方法 (I1ed00) - 新增了
CarContext#getHostInfo()
(I8977e) - 移除已淘汰的欄位 (I67168)
- 更新
SessionController
和ScreenController
以直接顯示建構函式 (Iabf22) - 移除
PinSignInMethod.Builder
和ProviderSignInMethod.Builder
(I9f0cb) - 新增了「setCarAppResult()」以啟用在 AAOS 中使用範本應用程式「for result」的功能 (I37741)
- 以
@MainThread
為CarHardware
介面加註。(Ib2f85) OnCarDataListener
已重新命名為OnCarDataAvailableListener
(I518ca)- 更新
CarInfo
、Speed
、Mileage
方法名稱和 javadoc (I86672) Toll
已重新命名為TollCard
(I3e7c8)- 移除已淘汰的
PinSignInMethod.getPin
,替換成PinSignInMethod.getPinCode
(I996ce) - 移除
OnInputCompletedListener
,替換成InputCallback
(Ib5be1) PinSignInMethod
改為採用CharSequence
而非String
(I275d5)
修正錯誤
- 為車輛硬體修正 Javadoc (I2abbc)
外部貢獻
已知問題
- 在
SignInTemplate
中,使用InputSignInMethod
可能會在車輛主機中造成NullPointerException
。我們會在下一個程式庫版本中解決這個問題。如要暫時繞過這個問題,請在您應用程式的 ProGuard 設定中納入這一行:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
1.1.0-alpha01 版
2021 年 6 月 16 日
發布 androidx.car.app:app:1.1.0-alpha01
、androidx.car.app:app-automotive:1.1.0-alpha01
和 androidx.car.app:app-testing:1.1.0-alpha01
。1.1.0-alpha01 版包含此連結所列的修訂項目。
新功能
- API 級別 2:車輛停放時可用於登入流程的新
SignInTemplate
和LongMessageTemplate
- API 級別 2:
NavigationTemplate
中的新地圖互動支援 - API 級別 2:支援新的多重長度文字,讓應用程式能根據車輛螢幕尺寸提供多個版本的字串以供顯示。
- 請參閱開發指南和程式庫 Javadoc 瞭解詳情;設計指南則可協助您瞭解如何使用這些相容於 API 級別 2 的車輛主機中的功能。
API 變更
- 將所有
*Callback
介面方法設為預設,並將OnRequestPermissionsCallback
重新命名為OnRequestPermissionsListener
(Ib3ec9) - 更新
androidx.car.app.hardware
類別以移除不必要的建構工具和參數類別 (I67beb) - 新增了
androidx.car.app.hardware
類別以存取車輛專屬資料,例如燃料、電池和速度(Iff3c9) - 在
MessageTemplate
上新增了ActionStrip
支援 (Ida657) - 將
setLoading
新增至MessageTemplate
(I2a4b5) ConnectionToCar
已重新命名為CarConnection
(Ife9bd)- 將
NavigationTemplate
變更為會傳回明確的PanModeDelegate
(I13877) - 更新
CarContext.requestPermissions
的參數順序 (Ib890a) - 更新中繼資料金鑰,將最低車輛 API 級別定義為
androidx.car.api.minCarApiLevel
(Ib0d41) - 建立允許觀察車輛連線狀態的 API (Ifc935)
- 新增了可為
Action
設定切換開關的功能,並新增了平移模式Action
類型 (Ica6af) - 建立了
CarNotificationManager
以支援在車上傳送通知的功能 (I10d7a) - 新增了
ConstraintManager
以提供主機的清單限制 (I8690e) - 在
NavigationTemplate
中新增了平移模式和 Google 地圖動作清除 API (I77aa6) - 在
SurfaceCallback
中為導航應用程式新增了平移和縮放 API (Id5e9d) - 將
CarAppApiLevel
更新為 2 (Ic1540) - 新增了向
CarAppService
要求權限的功能 (I5421e) - 將
RequiresCarApi(2)
註解新增至多重文字 API (Iacb62) - 在半清單範本標題中允許多種文字變化版本 (Ib8df7)
- 新增了
LongMessageTemplate
(需要 Car API 級別 2) (Ic5cee)
修正錯誤
- 更新圖片大小規定,以配合較大的車輛螢幕 (I116dc)
- 不允許在範本內文中加入超過 2 個動作 (I32157)
- 已確保車輛應用程式程式庫中所有的
PendingIntent
建立作業都會設定旗標。(If84fe、b/186394900) - 更新 javadoc,允許
Row
的文字在重新整理時變更 (If3f9c) androidx.activity:activity:1.2.0
現在是 API 依附元件 (Id1cb9)- 將
SignInTemplate
和LongMessageTemplate
設為在內文中要求僅限停車狀態動作,並更新說明文件,指明只有在車子停好時,才會顯示這兩者 (Iddaa9) - 修正了啟動期間彈出
Screen
時發生的例外狀況 (Ifcf40、b/184664896) - 允許在
ForegroundCarColorSpan
中自訂文字顏色 (I69e59) - 修正了在某個
Screen
的ON_DESTROY
之後,還會看到Session
上的ON_DESTROY
的問題 (I52e01、b/183696617) - 更新 javadoc,說明何時允許將
TravelEstimate
的剩餘時間設為不明的時間。(I99610、b/183632456) - 更新
Action
,以支援標題中的ForegroundColorSpan
以及任何自訂背景色彩 (I578e4) - 如果在執行工具執行前已清除回呼,就不執行
NavigationManagerCallback#onStopNavigation
(I7fc5e、b/181143772) - 修正了以下問題:要求應用程式必須在 lifecycle-common-java8 上明確採用依附元件 (I8b8c8)
已知問題
- 在
SignInTemplate
中,當使用者想要確認輸入內容時,螢幕小鍵盤會顯示「搜尋」圖示,而不是「輸入」圖示。輸入欄位成為焦點時,系統會啟動手機鍵盤,使用者可以存取這個鍵盤,當做暫時的因應方法。 - 在 Android Auto 6.5 版中,某些觸控手勢可能會錯誤叫用
SurfaceCallback
中的平移和縮放回呼。
車輛應用程式 1.0.0 測試版
1.0.0-alpha01 版
2021 年 3 月 24 日
發布 androidx.car.app:app-testing:1.0.0-alpha01
。1.0.0-alpha01 版包含此連結所列的修訂項目。
這是先前關閉的原始碼測試程式庫的第一個 Jetpack 版本。請參閱範例,瞭解如何在測試中使用這個程式庫。
新功能
- 已移除模型類別的控制器。模型 getter 現已併入公用 API 介面,可供驗證在建構工具中設定的值。
- 先前的
CarAppServiceController
已由新的SessionController
取代,用來測試與熱點連線生命週期相關的邏輯。
1.0.0 版本
1.0.0 版本
2021 年 4 月 21 日
發布 androidx.car.app:app:1.0.0
。1.0.0 版包含此連結所列的修訂項目。
1.0.0 的主要功能
- 我們在 4 月初宣布過,應用程式可以開始使用
androidx.car.app:app:1.0.0-rc01
發布到正式版頻道。車輛應用程式程式庫 v1.0.0 版現已穩定,與 Android Auto 6.1 以上版本完全相容。 - 請參閱開發指南,進一步瞭解如何使用程式庫為 Android Auto 建構導覽、停車位和充電應用程式。
修正錯誤
- 修正了啟動期間彈出
Screen
時發生的例外狀況 (70aae1、b/184664896) - 修正了在某個
Screen
的ON_DESTROY
之後,還會看到Session
上的ON_DESTROY
的問題 (0ceecb、b/183696617)
1.0.0-rc01 版本
2021 年 3 月 24 日
發布 androidx.car.app:app:1.0.0-rc01
。1.0.0-rc01 版包含以下修訂項目。
修正錯誤
- 修正了系統清除回呼後會呼叫
NavigationManagerCallback#onStopNavigation
的競爭狀況錯誤。如果在回呼執行工具實際運作之前,回呼已經清除,則會發生這種狀況 (I7fc5e、b/181143772) - 修正了以下問題:要求應用程式必須在
lifecycle-common-java8
上明確採用依附元件 (I8b8c8) - 修正了以下問題:應用程式在已經移除回呼的情況下收到
stopNavigation
呼叫時,系統擲回NullPointerException
(Ib8b89、b/181143772) - 改善以下狀況:如果應用程式生命週期未處於至少
CREATED
狀態,就不調派呼叫給應用程式 (I86965、b/179800224、b/177921120) - 修正了以下問題:系統會擲回應用程式的資訊清單中指定的無效最低 API,造成主機上發生 ANR(Iffedd、b/174231592)
1.0.0-beta01 版本
2021 年 2 月 24 日
發布 androidx.car.app:app:1.0.0-beta01
。1.0.0-beta01 版包含此連結所列的修訂項目。
這是先前關閉的原始碼程式庫的第一個 Jetpack 版本,相容於 Android Auto 6.1 以上版本。請參閱開發指南,進一步瞭解如何使用程式庫建構車輛應用程式。
新功能
- 推出
GridTemplate
,讓您的應用程式可在格狀版面配置中顯示 UI 元素清單。 - 推出
CarAppService.createHostValidator
方法,可驗證主機連線是來自可信任的來源 (例如 Android Auto)。 - 新增了
CarAppExtender.Builder.setColor
API(b/174231592)。
修正錯誤
- 修正了以下問題:連續彈出螢幕時,系統會恢復使用錯誤的
Screen
(b/177590791)