Mehrere Nutzer unterstützen

Android unterstützt mehrere Nutzer auf einem einzigen Android-Gerät, indem Nutzerkonten und App-Daten getrennt werden. Beispielsweise können Eltern ihren Kindern erlauben, das Familien-Tablet verwenden, eine Familie ein Auto gemeinsam nutzen kann oder ein Notfallteam teilt sich möglicherweise ein Mobilgerät für den Bereitschaftsdienst.

Terminologie

Android verwendet zur Beschreibung von Android-Nutzern und -Konten die folgenden Begriffe.

Allgemein

Bei der Android-Geräteverwaltung werden die folgenden allgemeinen Begriffe verwendet:

  • Nutzer: Jeder Nutzer ist für die Verwendung durch eine andere natürliche Person vorgesehen. Jeder Nutzer hat eigene App-Daten und einige eindeutige Einstellungen sowie eine Benutzeroberfläche, über die er explizit zwischen den Nutzern wechseln kann. Ein Nutzer kann im Hintergrund ausgeführt werden, wenn ein anderer Nutzer aktiv ist. Das System verwaltet das Herunterfahren von Nutzern, um bei Bedarf Ressourcen zu sparen. Sekundäre Nutzer können entweder direkt über die Benutzeroberfläche oder über eine App zur Geräteverwaltung erstellt werden.
  • Konto: Konten sind Teil eines Nutzers, werden aber nicht von einem Nutzer definiert. Ein Nutzer wird auch nicht durch ein bestimmtes Konto definiert oder mit einem bestimmten Konto verknüpft. Nutzer und Profile enthalten eigene, eindeutige Konten, sind jedoch nicht erforderlich. um funktionsfähig zu sein. Die Liste der Konten variiert je nach Nutzer. Weitere Informationen finden Sie in der Definition der Kontoklasse.
  • Profil: Ein Profil hat getrennte App-Daten, aber einige systemweite Einstellungen werden gemeinsam verwendet (z. B. WLAN und Bluetooth). Ein Profil ist eine Teilmenge und mit der Existenz eines Nutzers verbunden. Ein Nutzer kann mehrere Profile haben. Profile werden über ein Gerät App „Verwaltung“. Ein Profil hat immer eine unveränderliche Verknüpfung. an einen übergeordneten Nutzer, der von dem Nutzer definiert wurde, der das Profil erstellt hat. Profile dürfen nicht über die Lebensdauer des erstellenden Nutzers hinaus existieren.
  • App: Die Daten einer App sind für jeden verknüpften Nutzer verfügbar. Die App-Daten aus anderen Apps desselben Nutzers werden in einer Sandbox ausgeführt. Apps desselben Nutzers können über IPC miteinander interagieren. Weitere Informationen finden Sie unter Android für Unternehmen.

Nutzerkategorien

Für die Android-Geräteverwaltung werden die folgenden Nutzerkategorien verwendet.

  • Systemnutzer:Der erste Nutzer wird einem Gerät hinzugefügt. Der Systemnutzer kann nur durch das Zurücksetzen auf die Werkseinstellungen entfernt werden und ist immer aktiv, selbst wenn andere Nutzer im Vordergrund. Dieser Nutzer hat außerdem spezielle Berechtigungen und Einstellungen, die nur er festlegen kann.
  • Headless-Systemnutzer: Erster Nutzer, der einem Gerät hinzugefügt wird, wenn das Gerät so konfiguriert ist, dass es im Headless-Systemnutzermodus ausgeführt wird (durch Festlegen von ro.fw.mu.headless_system_user=true). Der Headless-Systemnutzer wird immer im Hintergrund ausgeführt. Daher benötigen solche Geräte zusätzliche Nutzer im Vordergrund, um die Nutzerinteraktion zu ermöglichen.
  • Sekundärer Nutzer: Jeder Nutzer, der dem Gerät hinzugefügt wurde, außer dem Systemnutzer. Sekundäre Nutzer können entfernt werden (entweder allein oder durch einen Administrator). Nutzer) und können sich nicht auf andere Nutzer eines Geräts auswirken. Diese Nutzer können im Hintergrund ausgeführt werden und haben weiterhin eine Netzwerkverbindung.
  • Gastnutzer:Temporärer sekundärer Nutzer. Gastnutzer haben die Möglichkeit, den Gastnutzer schnell zu löschen, wenn er nicht mehr benötigt wird. Es kann jeweils nur einen Gastnutzer geben.
  • Administratornutzer: Ein Nutzer, der andere Nutzer erstellen und entfernen sowie einige allgemeine Einstellungen für mehrere Nutzer verwalten darf. Standardmäßig ist nur der Systemnutzer ein Administrator.

Profilkategorien

Android verwendet die folgenden Profilkategorien:

  • Verwaltetes Profil: Wird von einer App erstellt, um geschäftliche Daten und Apps zu enthalten. Sie werden ausschließlich vom Profilinhaber verwaltet, also der App, mit der das Unternehmensprofil erstellt wurde. Launcher, Benachrichtigungen und letzte Aufgaben sind die vom übergeordneten Nutzer und vom Unternehmensprofil freigegeben wurden.
  • Eingeschränktes Profil: Hier werden Konten basierend auf dem übergeordneten Nutzer verwendet, der Folgendes kann: festlegen, welche Apps auf dem eingeschränkten Profil verfügbar sind. Nur verfügbar auf Tablets und Fernsehgeräte.
  • Klonen von Profilen:Android unterstützt das Erstellen eines separaten Klonprofils. , um die Ausführung von zwei Instanzen einer einzelnen App auf dem Gerät zu aktivieren. AOSP bietet keine durchgängige Unterstützung für die Funktion. OEMs müssen Anpassungen vornehmen, um die für Android-Nutzer.
  • Vertrauliches Profil: Ein vom Rest des Geräts getrennter Sandbox-Bereich, der unabhängig vom Hauptnutzer gesperrt werden kann. Ein privates Profil kann nur für die Hauptnutzende. Wenn das vertrauliche Profil entsperrt ist, werden die Apps in den Einstellungen, in ShareSheet, in der Bildauswahl und in der DocsUI angezeigt. Wenn es gesperrt ist, sind sie ausgeblendet. Das private Profil kann zusammen mit dem Arbeitsprofil auf demselben Gerät Klonen des Profils.

Nutzertypen

In Android 11 wurde die oben beschriebene Klassifizierung von Nutzern und Profilen in klar definierte Nutzertypen unterteilt, die alle Arten von Nutzern und Profilen repräsentieren, die von der Android-Mehrfachnutzerfunktion zulässig sind.

Die vordefinierten AOSP-Nutzertypen sind in frameworks/base/core/java/android/os/UserManager.java definiert und umfassen derzeit:

  • 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

OEMs haben die Möglichkeit, diese Nutzertypen zu konfigurieren, indem sie die frameworks/base/core/res/res/xml/config_user_types.xml-Datei. Dies vereinfacht das Ändern der Standardkonfiguration für jeden Nutzertyp, einschließlich Standardeinschränkungen, Symbolen, Badges und der maximal zulässigen Anzahl von Nutzern.

Zusätzlich zu den konfigurierbaren AOSP-Nutzertypen können OEMs neue Profiltypen mithilfe der frameworks/base/core/res/res/xml/config_user_types.xml-Datei. So können OEMs bei Bedarf eigene nicht verwaltete Profiltypen einführen. Es liegt jedoch in der Verantwortung des OEMs, Plattformänderungen vorzunehmen, die zur Unterstützung des Änderungen, einschließlich Code, der auf verwaltete Profile prüft, um jetzt das neue Profil zu verarbeiten eingeben.

Mehrfachnutzung aktivieren

Die Funktion für mehrere Nutzer ist standardmäßig deaktiviert. Bis aktiviert haben, müssen Gerätehersteller ein Ressourcen-Overlay definieren, das die folgenden Werte in 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>

Um dieses Overlay anzuwenden und Gast- und sekundäre Nutzer auf dem Gerät zu aktivieren, verwenden Sie die DEVICE_PACKAGE_OVERLAYS-Funktion des Android-Build-Systems, die Werte für:

  • config_multiuserMaximumUsers mit einem Wert größer als 1
  • config_enableMultiUserUI mit true

Die maximale Anzahl der Nutzer wird vom Gerätehersteller festgelegt. Auf Gerät oder andere Hersteller geänderte Einstellungen haben, müssen diese sicherstellen, wie in den Kompatibilität mit Android Definition Document (CDD).

Mehrere Nutzer verwalten

Die Verwaltung von Nutzern und Profilen (mit Ausnahme von eingeschränkten Profilen) erfolgt durch Apps, die die API in der Klasse DevicePolicyManager programmatisch aufrufen, um die Nutzung einzuschränken.

Unternehmen können Nutzer und Profile verwenden, um die Lebensdauer und den Umfang von Apps und Daten auf Geräten zu verwalten. Dazu können sie die oben beschriebenen Typen in Verbindung mit den APIs DevicePolicyManager und UserManager verwenden, um individuelle Lösungen zu entwickeln, die auf ihre Anwendungsfälle zugeschnitten sind.

Systemverhalten bei mehreren Nutzern

Wenn einem Gerät Nutzer hinzugefügt werden, sind einige Funktionen eingeschränkt, ein anderer Nutzer im Vordergrund zu sehen ist. Da die App-Daten nach Nutzer getrennt sind, der Status dieser Apps je nach Nutzer unterschiedlich. E-Mails, die an ein Konto eines Nutzers gesendet werden, der gerade nicht im Fokus ist, sind beispielsweise erst verfügbar, wenn dieser Nutzer und sein Konto auf dem Gerät aktiv sind.

Hinweis: Wenn Sie die Telefon- und SMS-Funktionen für einen sekundären Nutzer aktivieren oder deaktivieren möchten, gehen Sie zu Einstellungen > Nutzer, wählen Sie den Nutzer aus und deaktivieren Sie die Einstellung Telefonieren und SMS senden zulassen.

Wenn sich ein sekundärer Nutzer im Hintergrund befindet, gelten einige Einschränkungen. So kann der sekundäre Nutzer im Hintergrund beispielsweise nicht die Benutzeroberfläche anzeigen oder Bluetooth-Dienste aktivieren. Außerdem werden sekundäre Nutzer im Hintergrund vom Systemprozess angehalten, wenn das Gerät zusätzlichen Arbeitsspeicher für Vorgänge des Nutzers im Vordergrund benötigt.

Wenn Sie mehrere Nutzer auf einem Android-Gerät verwenden, beachten Sie Folgendes:

  • Benachrichtigungen werden für alle Konten eines einzelnen Nutzers gleichzeitig angezeigt.
  • Benachrichtigungen für andere Nutzer werden erst angezeigt, wenn sie aktiv sind.
  • Jeder Nutzer erhält einen Arbeitsbereich, in dem er Apps installieren und platzieren kann.
  • Kein Nutzer hat Zugriff auf die App-Daten eines anderen Nutzers.
  • Jeder Nutzer kann sich auf die installierten Apps für alle Nutzer auswirken.
  • Administratoren können von sekundären Nutzern erstellte Apps oder sogar den gesamten Arbeitsbereich entfernen.
  • Standardmäßig werden die Informationen aus einer Gastsitzung beim Beenden des Gastmodus nicht gespeichert. Wenn Sie Informationen aus einer Gastnutzersitzung erhalten möchten, müssen Sie eine Ressource erstellen Overlay-Datei, die für config_guestUserAllowEphemeralStateChange den Wert false. Weitere Informationen zum Erstellen von Overlay-Dateien findest du unter Build mit Ressourcen-Overlays anpassen.

Android Automotive für mehrere Nutzer

Android Automotive verlässt sich auf die Android-Implementierung für mehrere Nutzer, um ein gemeinsam verwendetes Gerät bereitzustellen. Nutzererfahrung.

Nutzertypen für die Automobilbranche

Neben den oben aufgeführten Nutzertypen sind Automobil-Builds für diese Typen interessant der Nutzer:

  • Nutzer eines headless-Systems Der Systemnutzer hostet alle Systemdienste. Damit mehrere Nutzer in der Automobilbranche unterstützt werden können, muss der Systemnutzer auch headless sein. Es gibt nur einen monitorlosen Nutzer. Ein monitorloser Systemnutzer:
    • Sie muss immer im Hintergrund ausgeführt werden.
    • Kann vom Nutzer nicht entfernt oder direkt darauf zugegriffen werden, außer bei der Gerätebereitstellung. Nutzer können beispielsweise nicht zu diesem Nutzertyp wechseln, um Aufgaben wie das Herunterladen von Apps oder das Hinzufügen von Konten auszuführen.
    • Kann nur durch Zurücksetzen auf die Werkseinstellungen gelöscht werden.
  • Reguläre Nutzer Gleicher Wert wie Sekundäre Nutzer, wie oben beschrieben, mit Ausnahme von sekundären Nutzern Nutzer:
    • Sie wird nicht im Hintergrund ausgeführt, nachdem die App verlassen wurde.
    • Sie können direkt über die Benutzeroberfläche erstellt werden.
    • haben separate App-Daten, teilen aber einige systemweite Einstellungen. z. B. WLAN und Bluetooth.

Einschränkungen

Die folgenden Ausnahmen gelten für monitorlose Systemnutzer und reguläre (sekundäre) Nutzer in Automobil:

  • Der monitorlose Systemnutzer unterstützt keine Arbeitsprofile.
  • Standardmäßig haben normale (sekundäre) Nutzer vollen Zugriff auf Anrufe und Nachrichten.
  • Standardmäßig werden reguläre (sekundäre) Nutzer nicht im Hintergrund ausgeführt.

Nutzer für den headless-Systemmodus aktivieren

Ab Android 10 kann die Funktion für mehrere Nutzer auch für Anwendungsfälle im Automobilbereich verwendet werden. Wichtige Unterschiede:

  • Der Systemnutzer ist headless und wird nur im Hintergrund ausgeführt.
  • Menschliche Nutzer interagieren nicht mit dem Systemnutzer.

Damit der headless Systemnutzer verwendet werden kann, müssen Gerätehersteller die Mehrfachnutzung wie oben beschrieben aktivieren.

Wenn der headless-Nutzer aktiviert ist:
  1. Wenn Sie das Gerät als „Automobil“ deklarieren möchten, fügen Sie die Funktion android.hardware.type.automotive hinzu.
  2. Legen Sie ro.fw.headless_system_user auf true fest.
  3. Legen Sie den Wert für config_multiuserMaximumUsers auf 2 oder höher fest.

Weitere Informationen finden Sie unter Unterstützung mehrerer Nutzer in der Automobilbranche.

Mehrere Nutzer von Android Automotive auf mehreren Displays

Mit einer neuen experimentellen Funktion in Android 14 können sekundäre Nutzer (die nicht der aktuelle Nutzer im Vordergrund sind), Aktivitäten zu starten Zugriff auf die UI auf dem Bildschirm, dem sie zugewiesen sind. Mit dieser Funktion können mehrere gleichzeitige Nutzer in Android Automotive OS, um Funktionen im Auto zu unterstützen, die mehrere Passagieren eine dedizierte Benutzeroberfläche in einer einzigen Android-Instanz zur Verfügung.

Um diese Funktion für die Entwicklung zu aktivieren, müssen Gerätehersteller ein Ressourcen-Overlay definieren um den folgenden Wert in 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>

Sie können die Funktion für Fahrgäste (ohne Fahrer) testen, indem Sie die folgende zusätzliche Konfiguration aktivieren:

<!-- 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>

Unter Android 14 können Sie die In-Car-Funktion für mehrere Mitfahrer als Gastnutzer aktivieren. Wenn mehrere Gastnutzer für die Entwicklung verwendet werden sollen, müssen Gerätehersteller ein Ressourcen-Overlay definieren, das die maximal zulässige Anzahl von Gastnutzern in frameworks/base/core/res/res/xml/config_user_types.xml konfiguriert. Das folgende Beispiel veranschaulicht dies:

<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>