Mehrere Nutzer unterstützen

Android unterstützt mehrere Nutzer auf einem einzigen Android-Gerät, indem Nutzerkonten und App-Daten getrennt werden. So können Eltern beispielsweise ihren Kindern erlauben, das Familientablet zu verwenden, eine Familie kann sich ein Auto teilen oder ein Einsatzteam kann ein Mobilgerät für den Bereitschaftsdienst gemeinsam nutzen.

Terminologie

Unter Android werden die folgenden Begriffe für Android-Nutzer und ‑Konten verwendet.

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 haben eigene eindeutige Konten, benötigen aber keine Konten, um zu funktionieren. 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 der Existenz eines Nutzers und an diese gebunden. Ein Nutzer kann mehrere Profile haben. Profile werden über eine App zur Geräteverwaltung erstellt. Ein Profil hat immer eine unveränderliche Verknüpfung mit einem übergeordneten Nutzer, die vom Nutzer definiert wird, der das Profil erstellt hat. Profile existieren nicht länger als der Nutzer, der sie erstellt hat.
  • App:Die Daten einer App sind für jeden verknüpften Nutzer verfügbar. App-Daten sind von anderen Apps desselben Nutzers in einer Sandbox getrennt. 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:Erster Nutzer, der einem Gerät hinzugefügt wurde. Der Systemnutzer kann nur durch Zurücksetzen auf die Werkseinstellungen entfernt werden und ist immer aktiv, auch wenn andere Nutzer im Vordergrund sind. 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 von ihnen selbst oder von einem Administrator entfernt werden und haben keine Auswirkungen auf andere Nutzer auf einem Gerät. 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.

Kategorien von Profilen

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 (der App, mit der das Unternehmensprofil erstellt wurde). Launcher, Benachrichtigungen und letzte Aufgaben werden vom übergeordneten Nutzer und dem Unternehmensprofil gemeinsam genutzt.
  • Eingeschränktes Profil:Es werden Konten verwendet, die auf dem übergeordneten Nutzer basieren. Dieser kann festlegen, welche Apps im eingeschränkten Profil verfügbar sind. Nur auf Tablets und Fernsehern verfügbar.
  • Klonprofil: Android unterstützt das Erstellen eines separaten Nutzertyps für Klonprofile, um zwei Instanzen einer einzelnen App auf dem Gerät ausführen zu können. AOSP bietet keine durchgängige Unterstützung für die Funktion. OEMs müssen Anpassungen vornehmen, um Android-Nutzern die vollständige Funktion zur Verfügung zu stellen.
  • 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 den Hauptnutzer vorhanden sein. Wenn das vertrauliche Profil entsperrt ist, sind die Apps in den Einstellungen, in ShareSheet, in der Bildauswahl und in der DocsUI sichtbar. Wenn es gesperrt ist, sind sie ausgeblendet. Das private Profil kann auf demselben Gerät wie das Arbeitsprofil und das Klonprofil vorhanden sein.

Nutzertypen

In Android 11 wurde die oben beschriebene Klassifizierung von Nutzern und Profilen in klar definierte Nutzertypen unterteilt, die alle verschiedenen 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 können diese Nutzertypen konfigurieren, indem sie die Datei frameworks/base/core/res/res/xml/config_user_types.xml überlagern. So lässt sich die Standardkonfiguration für jeden Nutzertyp ändern, einschließlich der Standardeinschränkungen, Symbole, Logos und der maximal zulässigen Anzahl von Nutzern.

Zusätzlich zu den konfigurierbaren AOSP-Nutzertypen können OEMs mit der Datei frameworks/base/core/res/res/xml/config_user_types.xml neue Profiltypen definieren. So können OEMs bei Bedarf eigene nicht verwaltete Profiltypen einführen. Es liegt jedoch in der Verantwortung des OEMs, erforderliche Plattformänderungen vorzunehmen, um die Änderungen zu unterstützen. Dazu gehört auch die Änderung des Codes, der nach verwalteten Profilen sucht, damit der neue Profiltyp gegebenenfalls verarbeitet wird.

Mehrfachnutzung aktivieren

Die Funktion für mehrere Nutzer ist standardmäßig deaktiviert. Um die Funktion zu aktivieren, müssen Gerätehersteller ein Ressourcen-Overlay definieren, das die folgenden Werte in frameworks/base/core/res/res/values/config.xml ersetzt:

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

Wenn Sie dieses Overlay anwenden und Gast- und sekundäre Nutzer auf dem Gerät aktivieren möchten, verwenden Sie die DEVICE_PACKAGE_OVERLAYS-Funktion des Android-Build-Systems, um die Werte für Folgendes zu ersetzen:

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

Die maximale Anzahl der Nutzer wird vom Gerätehersteller festgelegt. Wenn Gerätehersteller oder andere Personen die Einstellungen geändert haben, müssen sie dafür sorgen, dass SMS und Telefonie wie im Android Compatibility Definition Document (CDD) definiert funktionieren.

Mehrere Nutzer verwalten

Die Verwaltung von Nutzern und Profilen (mit Ausnahme eingeschränkter Profile) erfolgt über 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, wenn ein anderer Nutzer im Vordergrund ist. Da App-Daten nach Nutzer getrennt sind, unterscheidet sich der Status dieser Apps je nach Nutzer. 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, rufen Sie Einstellungen > Nutzer auf, wählen Sie den Nutzer aus und deaktivieren Sie die Einstellung Telefonieren und SMS zulassen.

Wenn ein sekundärer Nutzer im Hintergrund ist, 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 die installierten Apps für alle Nutzer beeinflussen.
  • Administratoren können von sekundären Nutzern erstellte Apps oder sogar den gesamten Arbeitsbereich entfernen.
  • Standardmäßig bleiben Informationen aus einer Sitzung eines Gastnutzers nicht erhalten, wenn der Gastmodus beendet wird. Wenn Informationen aus einer Gastnutzersitzung beibehalten werden sollen, müssen Sie eine Ressourcen-Overlaydatei erstellen, in der config_guestUserAllowEphemeralStateChange auf false festgelegt wird. Weitere Informationen zum Erstellen von Overlay-Dateien findest du unter Build mit Ressourcen-Overlays anpassen.

Android Automotive für mehrere Nutzer

Android Automotive nutzt die Mehrfachnutzerimplementierung von Android, um die Nutzung eines gemeinsam genutzten Geräts zu ermöglichen.

Nutzertypen für die Automobilbranche

Neben den oben aufgeführten Nutzertypen sind Builds für die Automobilbranche auch für folgende Nutzertypen geeignet:

  • Nutzer eines headless-Systems Der Systemnutzer hostet alle Systemdienste. Damit mehrere Nutzer in Automotive unterstützt werden können, muss der Systemnutzer auch headless sein. Es gibt nur einen headless-Nutzer. Ein Nutzer eines headless-Systems:
    • 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 Entspricht den oben beschriebenen sekundären Nutzern, mit folgenden Ausnahmen:
    • Sie werden nicht im Hintergrund ausgeführt, nachdem die App verlassen wurde.
    • Sie können direkt über die Benutzeroberfläche erstellt werden.
    • Sie haben separate App-Daten, aber einige systemweite Einstellungen werden gemeinsam verwendet. z. B. WLAN und Bluetooth.

Einschränkungen

Für Nutzer eines headless-Systems und reguläre (sekundäre) Nutzer in der Automobilbranche gelten die folgenden Ausnahmen:

  • Der Nutzer des headless-Systems 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

Seit Android 10 kann die Funktion für mehrere Nutzer 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 Mehrere Nutzer unterstützen im Bereich Automotive.

Mehrere Nutzer von Android Automotive auf mehreren Displays

Unter Android 15 können sekundäre Nutzer mit Vollzugriff (die nicht der aktuelle Nutzer im Vordergrund sind) Aktivitäten starten und auf die Benutzeroberfläche des Displays zugreifen, dem sie zugewiesen sind. Mit dieser Funktion können mehrere Nutzer gleichzeitig in Android Automotive OS die Nutzung von Funktionen im Auto unterstützen, die mehreren Fahrgästen eine spezielle Benutzeroberfläche in einer einzigen Android-Instanz bieten.

Um diese Funktion zu aktivieren, müssen Gerätehersteller ein Ressourcen-Overlay definieren, um den folgenden Wert in frameworks/base/core/res/res/values/config.xml zu ersetzen:

<!-- Whether the device allows full users to start in background visible on displays.
Should be false for most devices, except automotive vehicle with passenger displays.
Note: this flag does NOT control the Communal Profile, which is not a full user. -->

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

Wenn Sie nur die Funktion für Fahrgäste (ohne Fahrer) testen möchten, aktivieren Sie die folgende zusätzliche Konfiguration:

<!-- 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 15 können Sie die In-Car-Funktion auch 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, mit dem die maximal zulässige Anzahl von Gastnutzern in frameworks/base/core/res/res/xml/config_user_types.xml konfiguriert wird. Hier ein Beispiel:

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