Zarządzanie urządzeniami w branży motoryzacyjnej

Zarządzanie urządzeniem umożliwia zdalne zarządzanie pojazdem z systemem Android Automotive (AAOS). Na przykład właściciel pojazdu może chcieć zdalnie przywrócić system multimedialny do ustawień fabrycznych.

W branży motoryzacyjnej oferujemy 2 kategorie zarządzania urządzeniami:

  • Urządzenie osobiste. Pojazd należy do konsumenta. Właściciel pojazdu zarządza nim zdalnie. Na przykład właściciel może zdalnie zresetować fabrycznie jednostkę infotainmentu, korzystając z aplikacji mobilnej pojazdu.
  • Urządzenie firmowe Pojazd należy do przedsiębiorstwa lub organizacji. Administrator zarządza samochodem zdalnie.

Urządzenia osobiste

W przypadku urządzenia osobistego zarządzanie pojazdem z dalszej odległości wymaga uwzględnienia stanu jazdy. Jeśli na przykład właściciel pojazdu zdalnie spowoduje przywrócenie ustawień fabrycznych, pojazd nie powinien być resetowany, jeśli samochód jest aktywnie prowadzony przez inną osobę.

Dlatego mamy zestaw interfejsów API do zarządzania urządzeniami zintegrowanych z ograniczeniami stanu Dysku. Te interfejsy API mogą być wywoływane przez dowolną aplikację systemową (preinstalowane aplikacje na partycji systemowej) z odpowiednimi uprawnieniami.

Interfejsy API do zarządzania urządzeniami osobistymi

Interfejs API Cel
CarDevicePolicyManager.createUser()

Tworzy nowego użytkownika na urządzeniu w tle.

Jak to wpływa na stan dysku?

Nowy użytkownik jest tworzony w tle, niezależnie od stanu jazdy.

CarDevicePolicyManager.RemoveUser()

Usuwa obecnego użytkownika z urządzenia.

Jak to wpływa na stan dysku?

Jeśli docelowy użytkownik znajduje się w grupie:

  • Tło, operacja jest w toku.
  • Na pierwszym planie, gdy samochód jest zaparkowany lub na biegu jałowym, operacja jest kontynuowana.
  • Na pierwszym planie i samochód RUCHA SIĘ, wyrzucany jest kod wyjątku.
DevicePolicyManager.lockNow()

Blokuje dotychczasowego użytkownika na urządzeniu. Jeśli użytkownik ma już dane logowania na ekranie blokady (np. kod PIN lub wzór), wyświetlacz pozostaje włączony.

Jak to działa w przypadku stanu jazdy?

Jeśli docelowy użytkownik znajduje się w grupie:

  • W tle, operacja jest kontynuowana.
  • Na pierwszym planie, gdy samochód jest ZAPARKOWANY, PRZESZCZAJĄCY lub W RUCHU, usługa działa, jeśli użytkownik jest na pierwszym planie (niezależnie od stanu jazdy), w przeciwnym razie jest ignorowana. lockNow() nie jest ograniczony stanem rozpraszania uwagi użytkownika.
DevicePolicyManager.resetPassword()

Blokuje obecnego użytkownika na urządzeniu, ustawiając dane logowania na ekranie blokady, jeśli użytkownik nie ma istniejących danych logowania. Wyświetlacz pozostaje włączony.

Jak to wpływa na stan dysku?

Jeśli docelowy użytkownik znajduje się w grupie:

  • W tle, operacja jest kontynuowana.
  • Na pierwszym planie, gdy samochód jest zaparkowany lub na biegu jałowym, operacja jest kontynuowana.
  • Na pierwszym planie i samochód JEŹDZI, wyrzucany jest kod wyjątku.
DevicePolicyManager.wipeData()

powoduje przywrócenie urządzenia do ustawień fabrycznych.

Jak to wpływa na stan dysku?

Niezależnie od stanu jazdy (PARKED, IDLING lub MOVING), operacja jest wykonywana. System wyświetla powiadomienie, aby poinformować kierowcę o konieczności przywrócenia urządzenia do ustawień fabrycznych.

Gdy pojazd jest zaparkowany, kierowca może zareagować na powiadomienie i wybrać, czy zresetować urządzenie teraz czy później (przy następnym uruchomieniu samochodu).

Przykład:

Powiadomienie o przywracaniu do ustawień fabrycznych

Rysunek 1. System wyświetla powiadomienie, gdy zostanie uruchomione przywracanie do ustawień fabrycznych.

Pojazd jest zaparkowany

Rysunek 2. Gdy pojazd jest zaparkowany, kierowca może kliknąć powiadomienie, aby zresetować urządzenie teraz lub później (przy następnym uruchomieniu samochodu).

Kierowca wybiera opcję Resetuj

Rysunek 3. Jeśli kierowca wybierze opcję Zresetuj później, pojawi się komunikat, że urządzenie zostanie przywrócone do ustawień fabrycznych przy następnym uruchomieniu samochodu.

Urządzenia firmowe

Urządzenia z systemem operacyjnym Android Automotive z Androidem 13 lub nowszym mogą deklarować obsługę funkcji android.software.device_admin, aby umożliwić korzystanie z interfejsów API zarządzania urządzeniami w firmie (więcej informacji znajdziesz na stronie DevicePolicyManager). Organizacja może następnie używać aplikacji kontrolera zasad dotyczących urządzeń (DPC) do kontrolowania lokalnych zasad urządzeń i aplikacji systemowych na urządzeniu.

Urządzenia samochodowe nie obsługują profili służbowych, co oznacza, że jedynym obsługiwanym rozwiązaniem do zarządzania jest urządzenie w pełni zarządzane, które jest przeznaczone do urządzeń należących do firmy, nad którymi organizacja ma pełną kontrolę.

Firmy zarządzające pojazdem zdalnie muszą też wziąć pod uwagę stan jazdy. Dlatego też określone działania zdalne są również zintegrowane ze stanem jazdy pojazdu. Na przykład proces przywracania do ustawień fabrycznychDevicePolicyManager.setFactoryResetProtectionPolicy() dotyczy też pojazdów obsługiwanych przez przedsiębiorstwo.

Każdy interfejs API z DevicePolicyManagercode> może wyrzucić wyjątek (na przykład, jeśli pojazd się porusza). Poniżej znajduje się częściowa lista interfejsów DevicePolicyManagercode>. Więcej informacji znajdziesz w artykule Omówienie zarządzania urządzeniami.

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

Zarządzanie urządzeniami firmowymi przez wielu użytkowników

Zarządzanie urządzeniami w Automotive działa z uwzględnieniem obsługi wielu użytkowników. Oznacza to, że wielu kierowców może korzystać z tego samego pojazdu należącego do firmy, ale zachowuje prywatność swoich danych i uniemożliwia innym kierowcom korzystanie z tych samych danych.

Administrator może używać aplikacji kontrolera zasad dotyczących urządzeń (DPC) zgodnie z opisem w artykule Tworzenie kontrolera zasad dotyczących urządzeń, aby zarządzać zasadami na poziomie urządzenia lub użytkownika.

Wersje samochodowe zwykle korzystają z trybu użytkownika systemu bez interfejsu graficznego. W takim przypadku kontroler zasad urządzenia (DPC) jest ustawiony jako właściciel urządzenia (DO) użytkownika systemu i właściciel profilu (PO) każdego innego użytkownika. Administrator zdalny powinien powiązać użytkowników z projektem, ponieważ niektóre interfejsy API (np. requestBugreport()) są dostępne tylko wtedy, gdy wszyscy użytkownicy są powiązani. Następnie administrator zdalny powinien wybrać odpowiedni DPC, aby wykonać działania. Jeśli działanie jest powiązane z urządzeniem (np. przywracanie do ustawień fabrycznych za pomocą wipeData()), należy użyć DO DPC. Jeśli jest powiązany z użytkownikiem (np. addUserRestriction()), powinien używać DPC PO.

Aplikacja DPC musi mieć interfejs IPC między DO a PO. Zalecamy interfejs API Connect Apps opisany w artykule Połączone aplikacje służbowe i osobiste.

Więcej informacji o tym, jak aplikacja DPC zarządza wieloma użytkownikami, znajdziesz w sekcji Powiązani użytkownicy.