車用裝置管理服務

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

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

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

個人裝置

在個人裝置情境中,遠端管理車輛時必須考量車輛的駕駛狀態。舉例來說,如果車輛擁有者從遠端觸發恢復原廠設定,如果車輛是由他人主動駕駛,車輛不應恢復原廠設定。

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

個人裝置管理 API

API 目的
CarDevicePolicyManager.createUser()

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

如何與駕駛狀態互動?

無論雲端硬碟狀態為何,系統都會在背景建立新使用者。

CarDevicePolicyManager.RemoveUser()

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

如何與行車狀態互動?

如果目標使用者位於:

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

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

這項作業如何與駕駛狀態互動?

如果目標使用者位於:

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

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

如何與行車狀態互動?

如果目標使用者位於:

  • 背景,作業會繼續進行。
  • 前景且車輛處於停車空轉狀態時,作業會繼續進行。
  • 前景且車輛處於移動狀態時,系統會擲回例外狀況代碼。
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 和訂購單之間的處理序間通訊 (IPC)。建議您使用「已連結的工作和個人應用程式」一文所述的 Connect Apps API。

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