每次發布 Android 版本時,API 和行為變更都會影響應用程式在 Android Auto 和 Android Automotive OS 上的運作方式。本頁面詳細說明瞭許多影響,並提供相關資訊,說明如何更新應用程式以支援新版 Android。
Android 16
- Android Auto 會使用虛擬裝置擁有者覆寫功能,在執行車輛停妥時使用的應用程式時,忽略螢幕方向、長寬比和可調整大小的限制。
- 如果應用程式使用 Android 16 更新的安全意圖,您可能需要將
CarAppService
的<service>
元素android:intentMatchingFlags
屬性指定為allowNullAction
,允許 Android Auto 和 Android Automotive OS 連線至服務。
Android 15
- 由於以 Android 15 以上版本為目標的應用程式視窗插邊會有所變更,因此您應測試發布至 Android Automotive OS 的應用程式,確認應用程式實作的活動可如預期轉譯。如要進一步瞭解 Android Automotive OS 的專屬考量事項,請參閱「使用視窗插邊和螢幕凹口」。
Android 14
- 由於指定 Android 14 以上版本為目標的應用程式必須提供前景服務類型,請檢查您是否為應用程式中的所有前景服務指定類型,例如導覽和媒體播放服務。
- 由於指定 Android 14 以上版本的應用程式必須指定已註冊執行階段的廣播接收器的匯出行為,因此使用
CarConnection
API 的應用程式應更新至androidx.car.app:app:1.3.0-beta01
以上版本。請參閱 Connection API。 - 由於在搭載 Android 14 以上版本的裝置上執行 Android Auto 時,Android Auto 會有所變更,因此從 Android Auto 應用程式啟動手機螢幕上的活動時,必須在呼叫
startActivity()
時提供ActivityOptions
,並將顯示器 ID 設為手機顯示器 ID (DEFAULT_DISPLAY
)。- 使用
CarContext.requestPermissions()
方法的應用程式應更新至androidx.car.app:app:1.7.0-alpha01
以上版本,其中包含這項修正。
- 使用
Android 13
- 如果是使用「車輛專用 Android App Library」建構的應用程式,
CarContext
提供的Configuration
語言代碼會反映主機應用程式的個別應用程式語言偏好設定,而不是您應用程式的設定。
Android 12
- 在搭載 Android 12 以上版本的裝置上,Android Auto 執行時不會變更裝置的UI 模式。請參閱「如何偵測 Android Auto 是否正在執行?」一文。
- 由於指定 Android 12 以上版本的應用程式有更安全的元件匯出規定,您必須在
<service>
元素上明確宣告android:exported
屬性,才能使用MediaBrowserService
和CarAppService
服務。 - 由於指定 Android 12 以上版本的應用程式有待處理意圖可變動性規定,您必須明確指定應用程式建立的任何待處理意圖可變動性。舉例來說,這包括即時通訊應用程式用於處理回覆訊息或將訊息標示為已讀的待處理意圖。