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. Samochodem zarządza zdalnie właściciel pojazdu. Na przykład właściciel może zdalnie zresetować fabrycznie jednostkę informacyjno-rozrywkową, korzystając z aplikacji mobilnej pojazdu.
- Urządzenie firmowe. Pojazd należy do przedsiębiorstwa lub organizacji. Samochodem zarządza zdalnie administrator.
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 zresetuje pojazd do ustawień fabrycznych, nie należy resetować go do ustawień fabrycznych, jeśli pojazdem jeździ inna osoba.
Dlatego mamy zestaw interfejsów API do zarządzania urządzeniami zintegrowanych z ograniczeniami stanu dysku. 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 na urządzeniu nowego użytkownika 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 jazdy? Jeśli docelowy użytkownik znajduje się w grupie:
|
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:
|
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:
|
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). |
Na przykład:
Rysunek 1. System wyświetla powiadomienie, gdy zostanie uruchomione przywracanie do ustawień fabrycznych.
Rysunek 2. Gdy pojazd jest zaparkowany, kierowca może kliknąć powiadomienie, aby zresetować urządzenie teraz lub później (przy następnym uruchomieniu samochodu).
Rysunek 3. Jeśli kierowca wybierze opcję Resetuj później, pojawi się komunikat, że urządzenie zostanie przywrócone do ustawień fabrycznych przy następnym uruchomieniu samochodu.
Urządzenia firmowe
Na urządzeniach z systemem operacyjnym Android Automotive z Androidem 13 lub nowszym można zadeklarować obsługę funkcji android.software.device_admin
, aby włączyć firmowe interfejsy API do zarządzania urządzeniami (więcej informacji znajdziesz w sekcji 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.
Automotive nie obsługuje profili służbowych, co oznacza, że jedynym obsługiwanym rozwiązaniem do zarządzania są w pełni zarządzane urządzenie przeznaczone dla 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ń fabrycznych w DevicePolicyManager.setFactoryResetProtectionPolicy()
dotyczy też pojazdów obsługiwanych przez przedsiębiorstwo.
Dowolny interfejs API z DevicePolicyManager
code> może zgłosić wyjątek (na przykład gdy pojazd się porusza). Poniżej znajduje się częściowa lista interfejsów DevicePolicyManager
code>. 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 branży motoryzacyjnej działa z obsługą wielu użytkowników. Oznacza to, że z jednego pojazdu należącego do firmy może korzystać kilku kierowców, a własny użytkownik może zachować prywatność swoich danych i zapobiegać ujawnieniu się ich innym kierowcom.
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. przywrócenie do ustawień fabrycznych w wipeData()
), powinno korzystać z DPC. Jeśli jest powiązany z użytkownikiem (np. addUserRestriction()
), powinien używać DPC PO.
Więcej informacji o tym, jak aplikacja DPC zarządza wieloma użytkownikami, znajdziesz w sekcji Powiązani użytkownicy.