Obsługa wielu użytkowników

Android obsługuje wielu użytkowników na 1 urządzeniu z Androidem dzięki rozdzieleniu użytkowników konta i dane aplikacji. Na przykład rodzice mogą pozwolić dzieciom na z rodzinnego tabletu, z rodziny wspólnie z samochodem lub z zespołu pomocy może używać urządzenia mobilnego do dyżurowania.

Terminologia

Do opisywania kont i użytkowników Androida używane są następujące terminy.

Ogólne

W zarządzaniu urządzeniami z Androidem obowiązują następujące ogólne terminy:

  • Użytkownik: każdy użytkownik może być używany przez inną osobie. Każdy użytkownik ma oddzielne dane aplikacji i niepowtarzalne ustawienia. oraz interfejs do wyraźnego przełączania się między użytkownikami. Użytkownik może uruchomić w tle, gdy inny użytkownik jest aktywny; system zarządza wyłączaniem w razie potrzeby oszczędzanie zasobów. Można tworzyć użytkowników dodatkowych bezpośrednio w interfejsie lub Urządzenie Administracja.
  • Konto: konta należą do konta użytkownika, ale nie są zdefiniowane. przez użytkownika ani nie jest zdefiniowany przez użytkownika ani z nim powiązany. Użytkownicy profile zawierają własne, niepowtarzalne konta, ale nie trzeba umieszczać odpowiednie konta. Lista kont różni się w zależności od użytkownika. Więcej informacji: zapoznaj się z Konto class.
  • Profil: profil zawiera dane z aplikacji, ale ma wspólne ustawieniach systemowych (na przykład Wi-Fi czy Bluetooth). Profil jest podzbiorem i powiązane z istnieniem użytkownika. Użytkownik może mieć kilka profili. Profile są tworzone za pomocą Urządzenie Administracja. Profil ma zawsze stałe powiązanie użytkownikowi nadrzędnego zdefiniowanego przez użytkownika, który utworzył profil. Profile nie: istnieją po utworzeniu użytkownika.
  • Aplikacja: dane aplikacji znajdują się u każdego powiązanego użytkownika. Dane aplikacji są odseparowane od innych aplikacji tego samego użytkownika. aplikacji; w ramach tego samego użytkownika mogą wchodzić ze sobą w interakcję w ramach IPC. Więcej informacji: na Androida dla firm.

Kategorie użytkowników

Funkcja administrowania urządzeniami z Androidem wykorzystuje poniższe kategorie użytkowników.

  • Użytkownik systemu: pierwszy użytkownik dodany do urządzenia. Użytkownik systemu można usunąć tylko przez przywrócenie do ustawień fabrycznych i zawsze działa, nawet gdy Inni użytkownicy działają na pierwszym planie. Ten użytkownik ma też specjalne uprawnienia oraz które może konfigurować.
  • Użytkownik systemu bez interfejsu graficznego: pierwszy użytkownik dodany do urządzenia, jeśli jest ono skonfigurowane. aby działać w trybie użytkownika bez interfejsu graficznego (poprzez ustawienie ro.fw.mu.headless_system_user=true). Użytkownik systemu bez interfejsu graficznego zawsze działa w tle, dlatego takie urządzenia wymagają dodatkowych użytkowników działających na pierwszym planie, aby umożliwić im interakcję.
  • Użytkownik pomocniczy: dowolny użytkownik dodany na urządzeniu innym niż system. użytkownika. Użytkowników dodatkowych można usunąć (samodzielnie lub przez administratora). użytkownika) i nie mogą wpływać na innych użytkowników urządzenia. Ci użytkownicy mogą uruchamiać w tle i nadal masz połączenie sieciowe.
  • Gość użytkownika: tymczasowy użytkownik dodatkowy. Goście mają do czynienia z ciągłą pozwalająca na szybkie usunięcie użytkownika gościa po zakończeniu jego przydatności. Można może być tylko jednym gościem.
  • Administrator: użytkownik, który ma uprawnienia do tworzenia i usuwania innych użytkowników. a także zarządzać ogólnymi ustawieniami dla wielu użytkowników. Domyślnie tylko użytkownik systemowy jest administratorem.

Kategorie profili

Android używa następujących kategorii profili:

  • Profil zarządzany:utworzony przez aplikację i zawierający dane służbowe. i aplikacje. Są one zarządzane wyłącznie przez właściciela profilu (czyli aplikacji, która utworzył profil firmowy). Menu z aplikacjami, powiadomienia i ostatnie zadania są udostępnione przez użytkownika nadrzędnego i profil firmowy.
  • Profil ograniczony:korzysta z kont użytkownika nadrzędnego, który może kontrolować, jakie aplikacje są dostępne w profilu ograniczonym. Dostępne tylko na tabletach i telewizorach.
  • Klonuj profil: Android umożliwia tworzenie oddzielnego klonu profilu użytkownika. typu, który umożliwia uruchomienie 2 instancji jednej aplikacji na urządzeniu. AOSP nie oferuje kompleksową obsługę tej funkcji. OEM musi dostosować swoje działanie, użytkownikom Androida.
  • Profil prywatny: obszar piaskownicy oddzielony od reszty urządzenia. które można zablokować niezależnie od głównego użytkownika. Profil prywatny może istnieć tylko dla głównego użytkownika. Gdy profil prywatny jest odblokowany, aplikacje są widoczne w ustawieniach. ShareSheet, Photopicker i DokumentyUI, ale aplikacje są ukryte po zablokowaniu. Profil prywatny może istnieć na tym samym urządzeniu razem z profilem służbowym, skopiować profil.

Typy użytkowników

Android 11 sformułował powyższą klasyfikację użytkowników i profili w precyzyjnie określony sposób. typów użytkowników, reprezentujących wszystkie typy użytkowników i profili dozwolonych przez wielu użytkowników Androida funkcji.

Wstępnie zdefiniowane typy użytkowników AOSP są zdefiniowane w sekcji frameworks/base/core/java/android/os/UserManager.java i obecnie obejmują:

  • android.os.usertype.full.SYSTEM
  • android.os.usertype.full.SECONDARY
  • android.os.usertype.full.GUEST
  • android.os.usertype.full.DEMO
  • android.os.usertype.full.RESTRICTED
  • android.os.usertype.profile.MANAGED
  • android.os.usertype.system.HEADLESS
  • android.os.usertype.profile.CLONE
  • android.os.usertype.profile.PRIVATE

OEM może skonfigurować te typy użytkowników, nakładając frameworks/base/core/res/res/xml/config_user_types.xml. Ułatwia to zmianę konfiguracji domyślnej dla każdego typu użytkownika, w tym domyślne ograniczenia, ikony, plakietki i maksymalną dopuszczalną liczbę użytkowników.

Oprócz konfigurowalnych typów użytkowników AOSP producenci OEM mogą definiować nowe typy profili za pomocą frameworks/base/core/res/res/xml/config_user_types.xml. Dzięki temu OEM może w razie potrzeby wprowadzać własne niezarządzane typy profili. Jednak to producent OEM odpowiada za wprowadzenie zmian na platformie wymaganych do obsługi zmian, w tym przez modyfikację kodu, który sprawdza profile zarządzane pod kątem obsługi nowego profilu. w razie potrzeby.

Włączanie obsługi wielu użytkowników

Funkcja wielu użytkowników jest domyślnie wyłączona. Do należy włączyć tę funkcję, producenci urządzeń muszą zdefiniować nakładkę zasobów, która zastępuje te wartości w funkcji frameworks/base/core/res/res/values/config.xml:

<!--  Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">1</integer>
<!--  Whether Multiuser UI should be shown -->
<bool name="config_enableMultiUserUI">false</bool>

Aby zastosować tę nakładkę i włączyć na urządzeniu gości oraz użytkowników pomocniczych, użyj funkcję DEVICE_PACKAGE_OVERLAYS systemu kompilacji Androida, która ma zastąpić wartości dla:

  • config_multiuserMaximumUsers o wartości większej niż 1
  • config_enableMultiUserUItrue

Producenci urządzeń mogą określać maksymalną liczbę użytkowników. Jeśli urządzenie producenci lub inne firmy zmodyfikowali ustawienia, muszą dopilnować, aby SMS-y i świadczenie usług telefonicznych zgodnie z definicją Zgodność z systemem Android Definicja dokumentu (CDD).

Zarządzanie wieloma użytkownikami

Zarządzanie użytkownikami i profilami (z wyjątkiem profili z ograniczonym dostępem) jest wykonywana przez aplikacje, które automatycznie wywołują interfejs API DevicePolicyManager klasa, aby ograniczyć użycie.

Firmy mogą zatrudniać użytkowników i profile do zarządzania aplikacji i danych na urządzeniach oraz zakresu aplikacji, z uwzględnieniem typów opisanych powyżej w sekcji spójnik DevicePolicyManager i UserManager interfejsów API, aby tworzyć unikalne rozwiązania dostosowane do ich przypadków użycia.

Zachowanie systemu wielu użytkowników

Gdy użytkownicy są dodawani do urządzenia, niektóre funkcje są ograniczone, inny użytkownik jest na pierwszym planie. Dane aplikacji są rozdzielane według użytkownika, ich stan zależy od użytkownika. Na przykład adres e-mail przypisany do konta użytkowników, którzy nie są na nim aktualnie skupieni, będą dostępni dopiero po tym, jak to użytkownik i to konto są aktywne na urządzeniu.

Uwaga: aby włączyć lub wyłączyć telefon i SMS-y, dla użytkownika dodatkowego, wybierz Ustawienia > użytkowników, wybierz użytkownika i wyłącz ustawienie Zezwalaj na połączenia telefoniczne i SMS-y.

Gdy w tle działa użytkownik dodatkowy, obowiązują pewne ograniczenia. Przykład: dodatkowy użytkownik działający w tle nie może wyświetlić interfejsu użytkownika ani Usługi Bluetooth są aktywne. Dodatkowo proces systemowy zatrzyma działanie w tle. użytkowników pomocniczych, jeśli urządzenie wymaga dodatkowej pamięci do operacji w użytkownika na pierwszym planie.

Gdy zatrudniasz wielu użytkowników na urządzeniu z Androidem, pamiętaj o tych kwestiach: z myślą o użytkownikach:

  • Powiadomienia są wyświetlane dla wszystkich kont danego użytkownika jednocześnie.
  • Powiadomienia innych użytkowników pojawiają się dopiero po ich aktywowaniu.
  • Każdy użytkownik otrzymuje obszar roboczy, w którym może instalować i umieszczać aplikacje.
  • Żaden użytkownik nie ma dostępu do danych aplikacji innego użytkownika.
  • Każdy użytkownik może mieć wpływ na aplikacje zainstalowane u wszystkich użytkowników.
  • Administrator może usuwać aplikacje, a nawet cały utworzony obszar roboczy przez użytkowników dodatkowych.
  • Domyślnie informacje dotyczące sesji użytkownika gościa nie są zachowywane po wyjściu z tego trybu. Jeśli chcesz, aby informacje z sesji użytkownika gościa były zachowane, musisz utworzyć zasób plik nakładki, który ustawia config_guestUserAllowEphemeralStateChange jako false Więcej informacji o tworzeniu plików nakładek znajdziesz tutaj: Dostosowywanie kompilacji za pomocą nakładek zasobów.

Android Automotive – wielu użytkowników

Android Automotive udostępnia urządzenie współdzielone przez wielu użytkowników w Androidzie i uzyskiwanie dodatkowych informacji.

Motoryzacja – typy użytkowników

Oprócz wymienionych powyżej typów użytkowników charakterystyczne są też wersje Automotive użytkowników:

  • Użytkownik systemu bez interfejsu graficznego. Użytkownik systemu hostuje wszystkie usługi systemowe. Aby można było obsługiwać wielu użytkowników w samochodzie, użytkownik systemu musi też mieć włączony interfejs bez interfejsu graficznego. Jest tylko 1 użytkownik bez interfejsu graficznego. Użytkownik systemu bez interfejsu graficznego:
    • Musi zawsze działać w tle.
    • Użytkownik nie może go usunąć ani uzyskać do niego dostępu bezpośrednio, z wyjątkiem Urządzenia Udostępniam. Na przykład użytkownicy nie mogą przełączyć się na ten typ użytkownika, aby wykonywać takie czynności jak: pobierać aplikacje ani dodawać kont.
    • Można ją usunąć tylko przez przywrócenie do ustawień fabrycznych.
  • Zwykli użytkownicy. Takie same jak Użytkownicy pomocniczy opisane powyżej, z wyjątkiem tych dodatkowych użytkownicy:
    • Nie uruchamiaj aplikacji w tle (po wyłączeniu aplikacji).
    • Można je utworzyć bezpośrednio w interfejsie użytkownika.
    • mają osobne dane aplikacji, ale pewne ustawienia systemowe; Na przykład Wi-Fi Bluetooth.

Uwagi

Poniższe wyjątki dotyczą użytkowników systemu bez interfejsu graficznego oraz zwykłych (dodatkowych) użytkowników w Motoryzacja:

  • Użytkownik systemu bez interfejsu graficznego nie obsługuje profili służbowych.
  • Domyślnie zwykli użytkownicy mają pełny dostęp do połączeń telefonicznych i wiadomości tekstowych.
  • Domyślnie zwykli użytkownicy nie uruchamiają się w tle.

Włączanie użytkownika systemowego bez interfejsu graficznego

Od Androida 10 funkcja obsługi wielu użytkowników może być wykorzystywana w branży motoryzacyjnej. Ważne! wyróżniamy:

  • Użytkownik systemu nie ma interfejsu graficznego i działa tylko w tle.
  • Użytkownicy systemu nie wchodzą w interakcje z użytkownikiem systemu.

Aby umożliwić korzystanie z systemu bez interfejsu graficznego, producenci muszą włączyć obsługę wielu użytkowników zgodnie z opisem. powyżej.

Gdy użytkownik bez interfejsu graficznego jest włączony:
  1. Aby zadeklarować, że urządzenie to motoryzacja, dodaj funkcję android.hardware.type.automotive
  2. Ustaw ro.fw.headless_system_user na true.
  3. Ustaw wartość pola config_multiuserMaximumUsers na 2 (lub więcej).

Więcej informacji: Obsługa wielu użytkowników branży motoryzacyjnej.

W Androidzie Automotive wielu użytkowników może korzystać z kilku wyświetlaczy

Nowa, eksperymentalna funkcja w Androidzie 14 umożliwia użytkownikom z pełnym dostępem pomocniczym (którzy nie są obecnym użytkownikiem na pierwszym planie), aby uruchamiać działania i pobierać dostęp do UI na wyświetlaczu, do którego zostały przypisane. Ta funkcja umożliwia korzystanie z wielu użytkowników systemu operacyjnego Android Automotive, aby obsługiwać funkcje samochodowe, dla pasażerów z dedykowanym interfejsem użytkownika w ramach pojedynczej instancji Androida.

Aby umożliwić korzystanie z tej funkcji w aplikacjach, producenci urządzeń muszą zdefiniować nakładkę zasobów możesz zastąpić następującą wartość w argumencie frameworks/base/core/res/res/values/config.xml:

<!-- Whether the device allows users to start in background visible on displays.
    Should be false for all devices in production. Can be enabled only for development use
    in automotive vehicles with passenger displays. -->

<bool name="config_multiuserVisibleBackgroundUsers">false></bool>

Możesz eksperymentować z funkcjami tylko dla pasażera (bez kierowcy), włączając te funkcje: dodatkowa konfiguracja:

<!-- Whether the device allows users to start in background visible on the default display.
    Should be false for all devices in production. Can be enabled only for development use
    in passenger-only automotive build (i.e., when Android runs in a separate system in the
    back seat to manage the passenger displays).
    When set to true, config_multiuserVisibleBackgroundUsers must also be true. -->

<bool name="config_multiuserVisibleBackgroundUsersOnDefaultDisplay">false</bool>

W Androidzie 14 możesz włączyć obsługę w samochodzie na kilku jako gości. Aby umożliwić wielu gościom korzystanie z aplikacji, urządzenie producenci muszą zdefiniować nakładkę zasobów, która konfiguruje maksymalną dozwoloną liczbę gości; użytkowników w organizacji frameworks/base/core/res/res/xml/config_user_types.xml, takich jak przykład poniżej:

<user-types>
   <full-type
       name="android.os.usertype.full.GUEST"
       max-allowed='4'>
       <default-restrictions no_factory_reset="true"
           no_remove_user="true"
           no_modify_accounts="true"
           no_install_apps="true"
           no_install_unknown_sources="true"
           no_uninstall_apps="true"/>
   </full-type>
</user-types>