車用裝置管理服務

裝置管理功能可讓您從遠端管理搭載 Android Automotive OS (AAOS) 的車輛。舉例來說,車主可能想遠端將資訊娛樂系統恢復原廠設定。

在 Automotive 中,我們提供兩類裝置管理功能:

  • 個人裝置。車輛由消費者擁有。車輛擁有者可從遠端管理車輛。舉例來說,車主可透過車輛的行動應用程式,遠端執行車載資訊娛樂系統的恢復原廠設定。
  • 企業裝置:車輛由企業或機構擁有。 由管理員從遠端管理車輛。

個人裝置

在個人裝置情境中,遠端管理車輛時必須考量車輛的駕駛狀態。舉例來說,如果車輛車主透過遠端方式啟動恢復原廠設定,但車輛正在由其他人駕駛,則車輛不應恢復原廠設定。

因此,我們有一組裝置管理 API 與行車狀態限制整合。任何具有正確權限的系統應用程式 (系統分區中的預先安裝應用程式) 都可以呼叫這些 API。

個人裝置管理 API

API 目的
CarDevicePolicyManager.createUser()

在背景中為裝置建立新使用者。

如何與行車狀態互動?

無論驅動狀態為何,系統都會在背景建立新使用者。

CarDevicePolicyManager.RemoveUser()

移除裝置上的現有使用者。

如何與行車狀態互動?

如果目標使用者位於:

  • 背景,作業繼續進行。
  • 若為前景,且車輛處於停車空轉狀態,作業會繼續進行。
  • 前景且車輛處於移動狀態時,系統會擲回例外狀況代碼。
DevicePolicyManager.lockNow()

鎖定裝置上現有的使用者。如果使用者已設定螢幕鎖定憑證 (例如 PIN 碼或解鎖圖案),螢幕就會保持開啟。

這與驅動狀態的互動方式為何?

如果目標使用者位於:

  • Background,作業會繼續進行。
  • 前景且車輛處於停車空轉行駛狀態時,如果使用者處於前景 (不論行車狀態為何),系統就會繼續執行,否則會忽略。lockNow() 不會受到使用者體驗分心狀態的限制。
DevicePolicyManager.resetPassword()

如果使用者沒有現有的憑證,系統會設定螢幕鎖定憑證,鎖定裝置上的現有使用者。螢幕會持續開啟。

如何與行車狀態互動?

如果目標使用者位於:

  • Background,作業會繼續進行。
  • 前景且車輛處於停車空轉狀態時,作業會繼續進行。
  • 前景且車輛處於移動狀態時,系統會擲回例外狀況代碼。
DevicePolicyManager.wipeData()

觸發裝置恢復原廠設定。

如何與行車狀態互動?

無論行車狀態為何 (停車空轉行駛),操作都會繼續進行。系統會發布通知,告知駕駛人必須恢復原廠設定。

車輛停妥後,駕駛人可以透過通知互動,選擇立即重設裝置或稍後重設 (下次啟動車輛時)。

例如:

恢復原廠設定通知

圖 1. 系統會在觸發恢復原廠設定時發布通知。

車輛處於停車狀態

圖 2. 車輛停妥後,駕駛人可以透過通知與系統互動,選擇立即重設裝置或稍後重設 (下次啟動車輛時)。

駕駛人選擇「重設」

圖 3. 如果駕駛人選擇稍後重設,系統會顯示浮動式訊息,指出裝置會在下次啟動車輛時恢復原廠設定。

企業裝置

搭載 Android 13 以上版本的 Android Automotive OS 裝置可宣告支援 android.software.device_admin 功能,以啟用企業裝置管理 API (詳情請參閱「DevicePolicyManager」)。接著,機構可以使用裝置政策控制器 (DPC) 應用程式,控管裝置上的本機裝置政策和系統應用程式。

Automotive 不支援工作資料夾,因此唯一支援的管理解決方案是全代管裝置,這類裝置由公司擁有,且由該公司全權管理。

從遠端管理車輛的企業也必須考量車輛的駕駛狀態。因此,特定遠端動作也會與車輛的駕駛狀態整合。舉例來說,DevicePolicyManager.setFactoryResetProtectionPolicy() 中的恢復原廠設定流程也適用於支援企業的車輛。

DevicePolicyManagercode> 中的任何 API 都可能擲回例外狀況 (例如車輛正在移動時)。以下提供部分 DevicePolicyManagercode> API 清單。詳情請參閱裝置管理總覽

  • DevicePolicyManager.removeActiveAdmin()
  • DevicePolicyManager.setFactoryResetProtectionPolicy()
  • DevicePolicyManager.installCaCert()
  • DevicePolicyManager.uninstallCaCert()
  • DevicePolicyManager.installKeyPair()
  • DevicePolicyManager.removeKeyPair()

為多位使用者管理企業裝置

汽車裝置管理功能支援多使用者支援。也就是說,多位駕駛可使用同一輛公司車,但透過各自的使用者,保護自身資料隱私,避免資料外洩給其他駕駛。

管理員可以使用裝置政策控制器 (DPC) 應用程式 (如「建構裝置政策控制器」一文所述),控管裝置全體或特定使用者的政策。

車用版本通常會使用無頭系統使用者模式,在這種情況下,裝置政策控制器 (DPC) 會設為系統使用者的裝置擁有者 (DO),以及所有其他使用者的設定檔擁有者 (PO)。遠端管理員應將 PO 使用者加入關聯,因為只有所有使用者都加入關聯時,才能使用某些 API (例如 requestBugreport())。接著,遠端管理員應選取適當的 DPC 來執行動作。如果動作與裝置相關聯 (例如透過 wipeData() 執行恢復原廠設定),則應使用 DO DPC。如果與使用者相關聯 (例如 addUserRestriction()),則應使用 PO DPC。

DPC 應用程式需要在 DO 和 PO 之間建立 IPC。建議您使用「已連結的工作和個人應用程式」一文所述的 Connect Apps API。

如要進一步瞭解 DPC 應用程式如何管理多個使用者,請參閱「關聯使用者」。