Geräteverwaltung für die Automobilindustrie

Mit der Geräteverwaltung können Sie ein Fahrzeug mit Android Automotive OS (AAOS) aus der Ferne verwalten. Beispielsweise möchte ein Fahrzeugbesitzer möglicherweise die Infotainmenteinheit aus der Ferne auf die Werkseinstellungen zurücksetzen.

Im Automobilbereich bieten wir zwei Kategorien der Geräteverwaltung an:

  • Persönliches Gerät. Ein Fahrzeug gehört einem Verbraucher. Der Besitzer des Fahrzeugs verwaltet das Auto aus der Ferne. Beispielsweise nutzt der Besitzer die mobile App des Fahrzeugs, um aus der Ferne einen Werksreset der Infotainmenteinheit durchzuführen.
  • Enterprise-Gerät. Ein Fahrzeug gehört einem Unternehmen oder einer Organisation. Ein Administrator verwaltet das Auto aus der Ferne.

Persönliche Geräte

In einem Szenario mit persönlichen Geräten erfordert die Fernverwaltung des Fahrzeugs die Berücksichtigung des Fahrzustands des Fahrzeugs. Wenn beispielsweise der Besitzer des Fahrzeugs aus der Ferne ein Zurücksetzen auf die Werkseinstellungen auslöst, sollte das Fahrzeug nicht auf die Werkseinstellungen zurückgesetzt werden, wenn das Auto aktiv von einer anderen Person gefahren wird.

Daher verfügen wir über eine Reihe von Geräteverwaltungs-APIs, die mit Laufwerksstatusbeschränkungen integriert sind. Diese APIs können von jeder System-App (vorinstallierte Apps in der Systempartition) mit den richtigen Berechtigungen aufgerufen werden.

APIs für die Verwaltung persönlicher Geräte

API Zweck
CarDevicePolicyManager.createUser()

Erstellt im Hintergrund einen neuen Benutzer auf dem Gerät.

Wie interagiert es mit dem Laufwerksstatus?

Unabhängig vom Laufwerksstatus wird im Hintergrund ein neuer Benutzer erstellt.

CarDevicePolicyManager.RemoveUser()

Entfernt einen vorhandenen Benutzer auf dem Gerät.

Wie interagiert es mit dem Laufwerksstatus?

Wenn sich der Zielbenutzer befindet in:

  • Hintergrund: Die Operation wird fortgesetzt.
  • Vordergrund und das Auto geparkt oder im Leerlauf ist, wird der Vorgang fortgesetzt.
  • Vordergrund und das Auto MOVING ist, wird ein Ausnahmecode ausgegeben.
DevicePolicyManager.lockNow()

Sperrt einen vorhandenen Benutzer auf dem Gerät. Wenn der Benutzer über Anmeldeinformationen für den Sperrbildschirm verfügt (z. B. eine PIN oder ein Muster), bleibt die Anzeige eingeschaltet.

Wie interagiert dies mit dem Laufwerksstatus?

Wenn sich der Zielbenutzer befindet in:

  • Hintergrund : Der Vorgang wird fortgesetzt.
  • Vordergrund und das Auto geparkt oder im Leerlauf oder in Bewegung ist, wird fortgefahren, wenn sich der Benutzer im Vordergrund befindet (unabhängig vom Fahrzustand), andernfalls wird es ignoriert. lockNow() ist nicht durch den UX-Ablenkungsstatus eingeschränkt.
DevicePolicyManager.resetPassword()

Sperrt einen vorhandenen Benutzer auf dem Gerät durch Festlegen von Anmeldeinformationen für den Sperrbildschirm, wenn der Benutzer nicht über Anmeldeinformationen verfügt. Das Display bleibt eingeschaltet.

Wie interagiert es mit dem Laufwerksstatus?

Wenn sich der Zielbenutzer befindet in:

  • Hintergrund : Der Vorgang wird fortgesetzt.
  • Vordergrund und das Auto ist geparkt oder im Leerlauf wird der Vorgang fortgesetzt.
  • Vordergrund und das Auto MOVING ist, wird ein Ausnahmecode ausgegeben.
DevicePolicyManager.wipeData()

Löst einen Werksreset des Geräts aus.

Wie interagiert es mit dem Laufwerksstatus?

Unabhängig vom Antriebsstatus ( PARKED , IDLING oder MOVING ) wird der Vorgang fortgesetzt. Das System sendet eine Benachrichtigung, um den Fahrer darüber zu informieren, dass ein Zurücksetzen auf die Werkseinstellungen erforderlich ist.

Wenn das Fahrzeug geparkt ist, kann der Fahrer mit der Benachrichtigung interagieren und auswählen, ob das Gerät jetzt oder später (beim nächsten Starten des Fahrzeugs) zurückgesetzt werden soll.

Zum Beispiel:

Benachrichtigung zum Zurücksetzen auf Werkseinstellungen

Abbildung 1. Das System sendet eine Benachrichtigung, wenn das Zurücksetzen auf die Werkseinstellungen ausgelöst wird.

Fahrzeug ist GEPARKT

Abbildung 2. Wenn das Fahrzeug geparkt ist, kann der Fahrer mit der Benachrichtigung interagieren und auswählen, ob das Gerät jetzt oder später (beim nächsten Starten des Fahrzeugs) zurückgesetzt werden soll.

Der Fahrer wählt „Zurücksetzen“.

Abbildung 3. Wenn sich der Fahrer für ein späteres Zurücksetzen entscheidet, weist eine Toastmeldung darauf hin, dass das Gerät beim nächsten Starten des Fahrzeugs auf die Werkseinstellungen zurückgesetzt wird.

Unternehmensgeräte

Android Automotive OS-Geräte mit Android 13 und höher können die Unterstützung für die Funktion android.software.device_admin erklären, um Unternehmens-Geräteverwaltungs-APIs zu aktivieren (weitere Informationen finden Sie unter DevicePolicyManager ). Eine Organisation kann dann eine Device Policy Controller (DPC) -App verwenden, um lokale Geräterichtlinien und System-Apps auf dem Gerät zu steuern.

Automotive unterstützt keine Arbeitsprofile , was bedeutet, dass die einzige unterstützte Verwaltungslösung ein vollständig verwaltetes Gerät ist, das für unternehmenseigene Geräte gedacht ist, über die die Organisation die vollständige Verwaltungskontrolle hat.

Unternehmen, die das Fahrzeug aus der Ferne verwalten, müssen auch den Fahrzustand des Fahrzeugs berücksichtigen. Somit sind auch bestimmte Fernaktionen in den Fahrzustand eines Fahrzeugs integriert. Beispielsweise gilt der Ablauf zum Zurücksetzen auf die Werkseinstellungen in DevicePolicyManager.setFactoryResetProtectionPolicy() auch für unternehmensfähige Fahrzeuge.

Jede API aus DevicePolicyManager Code kann eine Ausnahme auslösen (z. B. wenn sich das Fahrzeug bewegt). Eine unvollständige Liste der DevicePolicyManager -Code-APIs finden Sie unten. Weitere Informationen finden Sie unter Übersicht über die Geräteverwaltung .

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

Enterprise-Geräteverwaltung für mehrere Benutzer

Die Geräteverwaltung für Automotive funktioniert mit Multi-User-Unterstützung . Dies bedeutet, dass mehrere Fahrer dasselbe firmeneigene Fahrzeug nutzen können, aber ihre Privatsphäre schützen und verhindern können, dass sie anderen Fahrern zugänglich gemacht werden, indem sie ihre eigenen Benutzer verwenden.

Der Administrator kann eine Device Policy Controller (DPC)-App verwenden, wie unter Erstellen eines Device Policy Controllers beschrieben, um geräteweite oder benutzerspezifische Richtlinien zu steuern.

Automotive-Builds verwenden normalerweise den Headless-Systembenutzermodus. In diesem Fall wird der Device Policy Controller (DPC) als Device Owner (DO) des Systembenutzers und als Profile Owner (PO) jedes anderen Benutzers festgelegt. Der Remote-Administrator sollte die PO-Benutzer zuordnen, da einige APIs (wie requestBugreport() ) nur verfügbar sind, wenn alle Benutzer zugehörig sind. Dann sollte der Remote-Administrator den richtigen DPC zum Ausführen von Aktionen auswählen. Wenn die Aktion mit dem Gerät verknüpft ist (z. B. Zurücksetzen auf die Werkseinstellungen durch wipeData() “), sollte es den DO DPC verwenden. Wenn es einem Benutzer zugeordnet ist (wie addUserRestriction() ), sollte es den PO-DPC verwenden.

Die DPC-App benötigt einen IPC zwischen dem DO und dem PO. Wir empfehlen die Connect Apps-API, die unter „Vernetzte geschäftliche und persönliche Apps“ beschrieben wird.

Weitere Informationen dazu, wie eine DPC-App mehrere Benutzer verwaltet, finden Sie unter Verbundene Benutzer .