車輛應用程式

建構適用於 Android Auto 和 Android Automotive OS 的範本應用程式。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2024 年 4 月 17 日 1.2.0 1.4.0-rc02 - 1.7.0-alpha02

宣告依附元件

如要為車輛應用程式程式庫新增依附元件,您必須為專案新增 Google Maven 存放區。詳情請參閱 Google 的 Maven 存放區

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

Groovy

dependencies {
    implementation "androidx.car.app:app:1.2.0"

    // For Android Auto specific functionality
    implementation "androidx.car.app:app-projected:1.2.0"

    // For Android Automotive specific functionality
    implementation "androidx.car.app:app-automotive:1.2.0"

    // For testing
    testImplementation "androidx.car.app:app-testing:1.2.0"
}

Kotlin

dependencies {
    implementation("androidx.car.app:app:1.2.0")

    // For Android Auto specific functionality
    implementation("androidx.car.app:app-projected:1.2.0")

    // For Android Automotive specific functionality
    implementation("androidx.car.app:app-automotive:1.2.0")

    // For testing
    testImplementation("androidx.car.app:app-testing:1.2.0")
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

1.7 版

1.7.0-alpha02 版

2024 年 4 月 17 日

發布 androidx.car.app:app-*:1.7.0-alpha02。1.7.0-alpha02 版包含這些修訂版本

新功能

  • 已針對地圖型範本新增已淘汰的旗標,這些範本將支援 MapWithContent 範本。

API 變更

  • 淘汰舊的 MapTemplateRoutePreviewNavigationTemplatePlaceListNavigationTemplate,並鼓勵使用新的 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 的新範本,支援地圖中的清單 / 格線 / 窗格 / 訊息內容。
    • RoutePreviewPlaceListNavigation 和地圖範本現已淘汰。
    • 範例應用程式已更新,以使用 MapWithContent 顯示已淘汰範本的功能。
  • 對話項目:新增 API,可在車內顯示對話 (即時訊息、簡訊) 和 Google 助理朗讀內容。
  • 車輛尺寸:新的 API 可用於擷取車輛測量指標 (目前 AAOS 資料)。

API 變更

  • 將多餘的小型列圖片類型標示為實驗性質 (I5184b)
  • 新增了 CarInfo#fetchExteriorDimensions API,可用於存取車輛外部尺寸資訊,例如高度、寬度等 (Ia40c5)
  • 已從 MapWithContentTemplate 中移除 ExperimentalAPI 標記 (I66db8)
  • GridItem#setTitle 參數更新為可為空值。(I3d610)。
  • GetHeader API 具有回溯相容性,因此不需要 API 7 (I8c812)
  • ListTemplate 中新增 Header 的支援,淘汰 headerActionheaderTitleactionStrip (I7ae01)
  • 淘汰 GridTemplate 中的 titleheaderActionactionStrip,並新增對 Header 的支援 (I41a9c)
  • 移除實驗性 API 的第 7 級規定:徽章、GridTemplate 項目大小和圖片形狀 getter/setter,以及取得/設定徽章的 GridItem 方法。(Id71eb)。
  • 淘汰 PaneTemplate 中的 titleheaderActionactionStrip,新增 Header 支援 (I23154)
  • Media Center 遙測資料已從 BroadcastReceiver 變更為「瀏覽自訂動作」。(I4185f)。
  • MessageTemplate 中新增了 Header 屬性支援。停止支援 ActionStripheaderActiontitle。(Ie2de8)。
  • 修改快訊常數瀏覽權限 (Icf8a8)
  • 從父項範本中移除 isLoading 屬性 (I651e6)
  • 新增額外項目,用於通知媒體應用程式的主要 UI 參數 (I85ca2)
  • MediaExtensions 中新增媒體中心數據分析功能 (I7ce28)
  • 已新增資料列上額外的小型圖片選項。(I72c03)。

修正錯誤

  • 更新 ConversationItem 上的 javadoc,指出訊息應按由舊到新排序。(I77a2a)。
  • 更新 ListTemplate 截斷邏輯,移除 ConversationItem 中最舊的訊息 (Ie0a61)

1.4 版

1.4.0-rc02 版本

2023 年 12 月 13 日

發布 androidx.car.app:app-*:1.4.0-rc021.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-beta021.4.0-beta02 版包含此連結所列的修訂項目。這與 beta01 幾乎相同,但將 compileSdk 要求降至 33。

修正錯誤

  • 修正分頁內載入畫面無法正確顯示的錯誤。(cae860)。

1.4.0-beta01 版

2023 年 8 月 9 日

發布 androidx.car.app:app-*:1.4.0-beta011.4.0-beta01 版包含此連結所列的修訂項目。

注意事項:1.4-beta01 需要 compileSdk34,這仍處於開發狀態。1.4-beta02 會修正這個問題。或者,您可以在專案的 settings.gradle 檔案中新增 android.suppressUnsupportedCompileSdk=34,以安全的方式暫時隱藏警告。

新功能

  • 針對導航應用程式檢測「Cluster」地圖算繪作業
  • 新增分頁範本,改善應用程式版面配置 / 可用性
  • 支援自動調整工作限制
  • 清單元素的次要動作

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)
  • TabTemplate 中新增使用中的分頁內容 ID,並淘汰分頁的有效狀態 (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)。
  • 覆寫 ConversationItemCarMessageequals()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-beta01androidx.car.app:app-projected:1.3.0-beta01androidx.car.app:app-automotive:1.3.0-beta01androidx.car.app:app-testing:1.3.0-beta011.3.0-beta01 版包含此連結所列的修訂項目。

新功能

除了 Car App Library 1.3.0-alpha01 中添加的功能外,下列功能已成為 Beta01 的一部分 (這裡的所有功能都涉及主機端變更,而不含任何 API 變更):

  • 即使使用者位於 PlaceListNavigationTemplateRoutePreviewNavigationTemplateMapTemplate 中的地圖式選取畫面中,浮動導覽列仍會繼續顯示。方法是透過 NavigationManager.updateTrip() 更新導航資訊。
  • 啟用含有 FLAG_DEFAULT 的動作按鈕,即可設定逾時動畫。逾時後,系統將根據預設點擊這個按鈕。([API 5 - All Templates])
  • 當車輛停放時,Row 的子文字不會遭到截斷,但開車時會截斷成 2 行。([API 5 - All Templates])
  • 支援 ActionToggleRow ([API 5 - All Templates]) 的停用狀態

API 變更

  • 放寬 MapTemplate 清單中的限制,以支援可選取的清單 (I961ed)
  • 移除標頭動作的限制條件來允許自訂圖示。(Iad28f)。
  • 將限制 setOnClickListenerAllowed() 新增至 ActionsConstraints。允許 ActionOnClickDelegate() 設為標準圖示類型以外的動作。(TYPE_APP_ICONTYPE_BACKTYPE_PAN) (I3c745)

修正錯誤

1.3.0-alpha01 版

2022 年 7 月 27 日

發布了 androidx.car.app:app:1.3.0-alpha01androidx.car.app:app-projected:1.3.0-alpha01androidx.car.app:app-automotive:1.3.0-alpha01androidx.car.app:app-testing:1.3.0-alpha011.3.0-alpha01 版包含此連結所列的修訂項目。

加上 API 級別 5 註解的功能可相容於 Android Auto 7.9 以上版本。

新功能

  • API 級別 5:導航應用程式可以使用新的 MapTemplate 在地圖旁顯示窗格或清單內容 (If5826If44b8)
  • API 級別 5:新的 CarAudioRecord API 可透過主機車輛的麥克風錄製音訊輸入內容 (I5e71a)
  • API 級別 5:新的 SuggestionManager API 可讓應用程式為主機提供建議 (I5c103)
  • API 級別 5:新的 Alert API 會顯示在 NavigationTemplate 的內容通知中 (I163a7I5ad70)
  • API 級別 5:新的 HeaderMapController 元件可橫跨多範本重新使用 (If5826)
  • 新增了 androidx.car.app.category.POI 做為啟用搜尋點應用程式的類別 (並淘汰 androidx.car.app.category.PARKINGandroidx.car.app.category.CHARGING) (I59da1)

API 變更

  • API 級別 5:SurfaceCallback 介面提供新的 onClick 方法,可讓使用者輕觸地圖進行互動 (Ia9777)
  • API 級別 5:新的旗標 Action.FLAG_IS_PERSISTENTAction.FLAG_DEFAULT 可用來描述 Action (I96318I5ad70)
  • API 級別 5:ActionRowToggle 元件可使用新的啟用/停用狀態 (主機支援約可在 1.3.0-beta01 左右的程式庫版本提供) (Id8a09)
  • API 級別 5:偏好使用 setHeaderPlaceListNavigationTemplate.BuilderRoutePreviewNavigationTemplate.Builder 提供的新 Header 元件,並淘汰現有的 setTitlesetHeaderAction 方法 (I30e6a)
  • API 級別 5:PlaceListMapTemplate.BuilderPlaceListNavigationTemplate.Builder 上的新 setOnContentRefreshListner 方法可以搭配新的 OnContentRefreshListner 介面實作使用。
  • API 級別 5:TravelEstimate.Builder 新的 setTripTextsetTripIcon 可用來自訂預估交通資訊卡片 (Idcc6dIc620d)
  • PaneTemplate 名稱中加入 CarIconSpan 的支援 (Ia1ee0)
  • Row 名稱及文字中加入 CarIconSpan 的支援 (Ic1e3c)
  • 地圖 ActionStrip 現在最多可以設定四個操作 (If3522)
  • 更新車輛應用程式 API 級別至 5 (I26b8e)
  • PlaceListMapTemplatePlaceListNavigationTemplateRoutePreviewNavigationTemplateGridTemplateListTemplateLongMessageTemplateMessageTemplatePaneTemplate 以及 SignInTemplate 的標頭/名稱已變為選填內容 (I2078dIcadde)

修正錯誤

  • 更新 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.01.2.0 版包含此連結所列的修訂項目。

  • 這是穩定版,與 v1.2.0-rc01 相比沒有任何 API 變更。

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-beta021.2.0-beta02 版包含此連結所列的修訂項目。

凡是使用這個程式庫版本建立並指定 Android Automotive OS 平台的車輛應用程式,現在都可以發布到 Play 商店公開測試管道了。詳情請參閱開發指南

加上 API 級別 4 以下註解的功能可相容於 Android Auto 7.2 以上和新的 Android Automotive OS 平台。請參閱下方的 Known Issues 一節,瞭解注意事項。

API 變更

  • 已將實驗性 setOnContentRefreshListener API 新增到搜尋點範本 (I6bf22)

修正錯誤

  • 修正了車輛主機解除繫結時,CarAppService 中的記憶體流失問題。(I5c9cab/203594731)
  • 更新 CarAppActivity javadoc,為 singleTask 啟動模式納入相關規定 (Id2f95)
  • 減少繼續使用時的視覺故障。(Iff7e0)

已知問題

  • PlaceListNavigationTemplateRoutePreviewNavigateTemplate 中的地圖 ActionStrip 將於下一個 Android AutoAndroid Automotive OS 版本中推出。

1.2.0-alpha02 版

2021 年 12 月 15 日

發布 androidx.car.app:app-*:1.2.0-alpha021.2.0-alpha02 版包含此連結所列的修訂項目。

加上 API 級別 4 註解的功能已從實驗版升級為穩定版,包括 PlaceListNavigationTemplateRoutePreviewNavigateTemplate 中的地圖 ActionStripPane 中的 CarIcon 圖片、QRCodeSignInMethod 和在 Action 中設定算繪提示的功能 (例如旗標)。

新功能

  • 在 Android Auto 7.1 以上版本中,Pane 的項目限制已從 2 調高為 4。

API 變更

  • 已將實驗性的 toString() 方法新增至 CarUnit(I36a3b)

修正錯誤

  • 修正了回呼失敗時 CarAppPermissionActivity 中發生的當機問題 (If9823)
  • 已將 Pane 預設清單上限變更為 4 (I0068b)

1.2.0-alpha01 版

2021 年 11 月 3 日

發布 androidx.car.app:app-*:1.2.0-alpha011.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:新增了在 PlaceListNavigationTemplateRoutePreviewNavigationTemplate 中支援平移和縮放的功能 (I9d8a3)

修正錯誤

  • API 級別 4:新增了允許應用程式將位置更新通知傳送至車輛主機的機制 (I3bad3)
  • 修正主機驗證邏輯無法正確尋找 TEMPLATE_RENDERER 權限的問題 (I62618)

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:車輛停放時可用於登入流程的 SignInTemplateLongMessageTemplate
  • API 級別 2:NavigationTemplate 中的地圖互動支援
  • API 級別 2:支援多重長度文字,讓應用程式能根據車輛螢幕尺寸提供多個版本的字串以供顯示。
  • API 級別 3:可用來查詢車輛硬體資料 (例如型號和品牌、油量和其他感應器) 的 CarHardwareManager

1.1.0-rc01 版本

2021 年 11 月 3 日

發布 androidx.car.app:app-*:1.1.0-rc011.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-beta011.1.0-beta01 版包含此連結所列的修訂項目。

所有 v1.1.0 功能 (API 2+) 都完全相容於 Android Auto 6.7 以上版本。詳情請參閱開發指南

API 變更

  • 不再以 Manager 做為公開介面 (Ie381b)
  • 新增了為權限要求設定自訂品牌背景的功能 (I74b76)
  • 新增了 ScreenManager.getStackSize (I0b16a)
  • 移除了會明確採用 TestCarContextScreenController 建構函式 (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 變更

  • SessionControllerScreenController 生命週期方法合併至單一 moveToState 方法 (I1ed00)
  • 新增了 CarContext#getHostInfo() (I8977e)
  • 移除已淘汰的欄位 (I67168)
  • 更新 SessionControllerScreenController 以直接顯示建構函式 (Iabf22)
  • 移除 PinSignInMethod.BuilderProviderSignInMethod.Builder (I9f0cb)
  • 新增了「setCarAppResult()」以啟用在 AAOS 中使用範本應用程式「for result」的功能 (I37741)
  • @MainThreadCarHardware 介面加註。(Ib2f85)
  • OnCarDataListener 已重新命名為 OnCarDataAvailableListener (I518ca)
  • 更新 CarInfoSpeedMileage 方法名稱和 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-alpha01androidx.car.app:app-automotive:1.1.0-alpha01androidx.car.app:app-testing:1.1.0-alpha011.1.0-alpha01 版包含此連結所列的修訂項目。

新功能

  • API 級別 2:車輛停放時可用於登入流程的新 SignInTemplateLongMessageTemplate
  • 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 中新增了平移模式和地圖操作清除 API (I77aa6)
  • SurfaceCallback 中為導航應用程式新增了平移和縮放 API (Id5e9d)
  • CarAppApiLevel 更新為 2 (Ic1540)
  • 新增透過 CarAppService 要求權限的功能 (I5421e)
  • RequiresCarApi(2) 註解新增至多重文字 API (Iacb62)
  • 在半清單範本標題中允許多種文字變化版本 (Ib8df7)
  • 新增了 LongMessageTemplate (需要 Car API 級別 2) (Ic5cee)

修正錯誤

  • 更新圖片大小規定,以配合較大的車輛螢幕 (I116dc)
  • 不允許在範本內文中加入超過 2 個動作 (I32157)
  • 已確保車輛應用程式程式庫中所有的 PendingIntent 建立作業都會設定旗標。(If84feb/186394900)
  • 更新 javadoc,允許 Row 的文字在重新整理時變更 (If3f9c)
  • androidx.activity:activity:1.2.0 現在是 API 依附元件 (Id1cb9)
  • SignInTemplateLongMessageTemplate 設為在內文中要求僅限停車狀態動作,並更新說明文件,指明只有在車子停好時,才會顯示這兩者 (Iddaa9)
  • 修正了啟動期間彈出 Screen 時發生的例外狀況 (Ifcf40b/184664896)
  • 允許在 ForegroundCarColorSpan 中自訂文字顏色 (I69e59)
  • 修正了在某個 ScreenON_DESTROY 之後,還會看到 Session 上的 ON_DESTROY 的問題 (I52e01b/183696617)
  • 更新 javadoc,說明何時允許將 TravelEstimate 的剩餘時間設為不明的時間。(I99610b/183632456)
  • 更新 Action,以支援標題中的 ForegroundColorSpan 以及任何自訂背景色彩 (I578e4)
  • 如果在執行工具執行前已清除回呼,就不執行 NavigationManagerCallback#onStopNavigation (I7fc5eb/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-alpha011.0.0-alpha01 版包含此連結所列的修訂項目。

這是先前關閉的原始碼測試程式庫的第一個 Jetpack 版本。請參閱範例,瞭解如何在測試中使用這個程式庫。

新功能

  • 已移除模型類別的控制器。模型 getter 現已併入公用 API 介面,可供驗證在建構工具中設定的值。
  • 先前的 CarAppServiceController 已由新的 SessionController 取代,用來測試與熱點連線生命週期相關的邏輯。

1.0.0 版本

1.0.0 版本

2021 年 4 月 21 日

發布 androidx.car.app:app:1.0.01.0.0 版包含此連結所列的修訂項目。

1.0.0 的主要功能

  • 我們在 4 月初宣布過,應用程式可以開始使用 androidx.car.app:app:1.0.0-rc01 發布到正式版頻道。車輛應用程式程式庫 v1.0.0 版現已穩定,與 Android Auto 6.1 以上版本完全相容。
  • 請參閱開發指南,進一步瞭解如何使用程式庫為 Android Auto 建構導覽、停車位和充電應用程式。

修正錯誤

  • 修正了啟動期間彈出 Screen 時發生的例外狀況 (70aae1b/184664896)
  • 修正了在某個 ScreenON_DESTROY 之後,還會看到 Session 上的 ON_DESTROY 的問題 (0ceecbb/183696617)

1.0.0-rc01 版本

2021 年 3 月 24 日

發布 androidx.car.app:app:1.0.0-rc011.0.0-rc01 版包含以下修訂項目。

修正錯誤

  • 修正了系統清除回呼後會呼叫 NavigationManagerCallback#onStopNavigation 的競爭狀況錯誤。如果在回呼執行工具實際運作之前,回呼已經清除,則會發生這種狀況 (I7fc5eb/181143772)
  • 修正了以下問題:要求應用程式必須在 lifecycle-common-java8 上明確採用依附元件 (I8b8c8)
  • 修正了以下問題:應用程式在已經移除回呼的情況下收到 stopNavigation 時,系統擲回 NullPointerException (Ib8b89b/181143772)
  • 改善以下狀況:如果應用程式生命週期未處於至少 CREATED 狀態,就不調派呼叫給應用程式 (I86965b/179800224b/177921120)
  • 修正了以下問題:系統會擲回應用程式的資訊清單中指定的無效最低 API,造成主機上發生 ANR(Iffeddb/174231592)

1.0.0-beta01 版本

2021 年 2 月 24 日

發布 androidx.car.app:app:1.0.0-beta011.0.0-beta01 版包含此連結所列的修訂項目。

這是先前關閉的原始碼程式庫的第一個 Jetpack 版本,相容於 Android Auto 6.1 以上版本。請參閱開發指南,進一步瞭解如何使用程式庫建構車輛應用程式。

新功能

修正錯誤

  • 修正了以下問題:連續彈出螢幕時,系統會恢復使用錯誤的 Screen(b/177590791)