Unterstützen Sie mehrere Benutzer

Android unterstützt mehrere Benutzer auf einem einzigen Android-Gerät durch die Trennung von Benutzerkonten und Anwendungsdaten. Beispielsweise können Eltern ihren Kindern gestatten, das Familien-Tablet zu nutzen, eine Familie kann sich ein Auto teilen oder ein Krisenreaktionsteam könnte sich ein mobiles Gerät für den Bereitschaftsdienst teilen.

Terminologie

Android verwendet bei der Beschreibung von Android-Benutzern und -Konten die folgenden Begriffe.

Allgemein

Für die Android-Geräteverwaltung werden die folgenden allgemeinen Begriffe verwendet:

  • Benutzer: Jeder Benutzer soll von einer anderen natürlichen Person verwendet werden. Jeder Benutzer verfügt über unterschiedliche Anwendungsdaten und einige einzigartige Einstellungen sowie eine Benutzeroberfläche zum expliziten Wechseln zwischen Benutzern. Ein Benutzer kann im Hintergrund ausgeführt werden, während ein anderer Benutzer aktiv ist. Das System verwaltet das Herunterfahren von Benutzern, um bei Bedarf Ressourcen zu sparen. Sekundäre Benutzer können entweder direkt über die Benutzeroberfläche oder über eine Geräteverwaltungsanwendung erstellt werden.
  • Konto: Konten sind in einem Benutzer enthalten, werden jedoch nicht von einem Benutzer definiert, noch wird ein Benutzer durch ein bestimmtes Konto definiert oder mit diesem verknüpft. Benutzer und Profile enthalten ihre eigenen eindeutigen Konten, müssen jedoch keine Konten haben, um funktionsfähig zu sein. Die Liste der Konten unterscheidet sich je nach Benutzer. Einzelheiten finden Sie in der Definition der Kontoklasse .
  • Profil: Ein Profil verfügt über getrennte App-Daten, teilt jedoch einige systemweite Einstellungen (z. B. WLAN und Bluetooth). Ein Profil ist eine Teilmenge der Existenz eines Benutzers und an diese gebunden. Ein Benutzer kann mehrere Profile haben. Profile werden über eine Geräteverwaltungsanwendung erstellt. Ein Profil hat immer eine unveränderliche Zuordnung zu einem übergeordneten Benutzer, der von dem Benutzer definiert wird, der das Profil erstellt hat. Profile existieren nicht über die Lebensdauer des erstellenden Benutzers hinaus.
  • App: Die Daten einer Anwendung sind in jedem zugeordneten Benutzer vorhanden. App-Daten werden von anderen Anwendungen innerhalb desselben Benutzers in einer Sandbox gespeichert. Apps innerhalb desselben Benutzers können über IPC miteinander interagieren. Einzelheiten finden Sie unter Android für Unternehmen .

Kategorien von Benutzern

Die Android-Geräteverwaltung verwendet die folgenden Benutzerkategorien.

  • Systembenutzer: Erster Benutzer, der einem Gerät hinzugefügt wurde. Der Systembenutzer kann nur durch Zurücksetzen auf die Werkseinstellungen entfernt werden und ist immer aktiv, auch wenn andere Benutzer im Vordergrund sind. Dieser Benutzer verfügt außerdem über besondere Berechtigungen und Einstellungen, die nur er festlegen kann.
  • Headless-Systembenutzer: Erster Benutzer, der einem Gerät hinzugefügt wird, wenn das Gerät für die Ausführung im Headless-Systembenutzermodus konfiguriert ist (durch Festlegen von ro.fw.mu.headless_system_user=true ). Der Benutzer des Headless-Systems läuft immer im Hintergrund, daher benötigen solche Geräte zusätzliche Vordergrundbenutzer, um die Benutzerinteraktion zu ermöglichen.
  • Sekundärer Benutzer: Jeder dem Gerät hinzugefügte Benutzer außer dem Systembenutzer. Sekundäre Benutzer können entfernt werden (entweder von ihnen selbst oder von einem Admin-Benutzer) und haben keinen Einfluss auf andere Benutzer auf einem Gerät. Diese Benutzer können im Hintergrund ausgeführt werden und verfügen weiterhin über eine Netzwerkverbindung.
  • Gastbenutzer: Temporärer sekundärer Benutzer. Gastbenutzer haben eine explizite Option zum schnellen Löschen des Gastbenutzers, wenn seine Nützlichkeit vorbei ist. Es kann jeweils nur ein Gastbenutzer vorhanden sein.
  • Admin-Benutzer: Ein Benutzer, der die Berechtigung hat, andere Benutzer zu erstellen und zu entfernen sowie einige allgemeine Mehrbenutzereinstellungen zu steuern. Standardmäßig ist nur der Systembenutzer ein Administrator.

Kategorien von Profilen

Android verwendet die folgenden Profilkategorien:

  • Verwaltetes Profil: Von einer Anwendung erstellt, um Arbeitsdaten und Apps zu enthalten. Sie werden ausschließlich vom Profilinhaber (der App, die das Unternehmensprofil erstellt hat) verwaltet. Launcher, Benachrichtigungen und aktuelle Aufgaben werden vom übergeordneten Benutzer und dem Unternehmensprofil gemeinsam genutzt.
  • Eingeschränktes Profil: Verwendet Konten basierend auf dem übergeordneten Benutzer, der steuern kann, welche Apps im eingeschränkten Profil verfügbar sind. Nur auf Tablets und Fernsehgeräten verfügbar.
  • Klonprofil: Android unterstützt die Erstellung eines separaten Klonprofil-Benutzertyps, um die Ausführung von zwei Instanzen einer einzelnen App auf dem Gerät zu ermöglichen. AOSP bietet keine End-to-End-Unterstützung für diese Funktion. OEMs müssen Anpassungen hinzufügen, um Android-Benutzern die vollständige Funktion bereitzustellen.

Benutzertypen

Android 11 hat die obige Klassifizierung von Benutzern und Profilen in klar definierte Benutzertypen formuliert, die alle verschiedenen Arten von Benutzern und Profilen repräsentieren, die die Android-Mehrbenutzerfunktion zulässt.

Die vordefinierten AOSP-Benutzertypen 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

OEMs haben die Möglichkeit, diese Benutzertypen zu konfigurieren, indem sie die Datei frameworks/base/core/res/res/xml/config_user_types.xml überlagern. Dies erleichtert das Ändern der Standardkonfiguration für jeden Benutzertyp, einschließlich seiner Standardeinschränkungen, Symbole, Abzeichen und der maximal zulässigen Anzahl von Benutzern.

Zusätzlich zu den konfigurierbaren AOSP-Benutzertypen können OEMs mithilfe der Datei frameworks/base/core/res/res/xml/config_user_types.xml neue Profiltypen definieren. Dadurch können OEMs bei Bedarf ihre eigenen nicht verwalteten Profiltypen einführen. Es liegt jedoch in der Verantwortung des OEM, bei Bedarf Plattformänderungen vorzunehmen, um die Änderungen zu unterstützen, einschließlich der Änderung des Codes, der nach verwalteten Profilen sucht, um nun ggf. den neuen Profiltyp zu verarbeiten.

Aktivieren von Mehrbenutzerfunktionen

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

Um dieses Overlay anzuwenden und Gast- und sekundäre Benutzer auf dem Gerät zu aktivieren, 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

Über die maximale Nutzerzahl können die Gerätehersteller entscheiden. Wenn Gerätehersteller oder andere Einstellungen geändert haben, müssen sie sicherstellen, dass SMS und Telefonie gemäß der Definition im Android Compatibility Definition Document (CDD) funktionieren.

Verwaltung mehrerer Benutzer

Die Verwaltung von Benutzern und Profilen (mit Ausnahme eingeschränkter Profile) erfolgt durch Anwendungen, die programmgesteuert die API in der DevicePolicyManager Klasse aufrufen, um die Nutzung einzuschränken.

Unternehmen können Benutzer und Profile einsetzen, um die Lebensdauer und den Umfang von Apps und Daten auf Geräten zu verwalten, indem sie die oben beschriebenen Typen in Verbindung mit den DevicePolicyManager- und UserManager -APIs verwenden, um einzigartige, auf ihre Anwendungsfälle zugeschnittene Lösungen zu erstellen.

Verhalten von Mehrbenutzersystemen

Wenn Benutzer zu einem Gerät hinzugefügt werden, werden einige Funktionen eingeschränkt, wenn ein anderer Benutzer im Vordergrund ist. Da App-Daten nach Benutzer getrennt sind, unterscheidet sich der Status dieser Apps je nach Benutzer. Beispielsweise sind E-Mails, die für ein Konto eines Benutzers bestimmt sind, der derzeit nicht im Fokus ist, erst verfügbar, wenn dieser Benutzer und dieses Konto auf dem Gerät aktiv sind.

Hinweis : Um die Telefon- und SMS-Funktionen für einen sekundären Benutzer zu aktivieren oder zu deaktivieren, gehen Sie zu Einstellungen > Benutzer , wählen Sie den Benutzer aus und schalten Sie die Einstellung Telefonanrufe und SMS zulassen auf „Aus“.

Es gelten einige Einschränkungen, wenn ein sekundärer Benutzer im Hintergrund läuft. Beispielsweise kann der sekundäre Hintergrundbenutzer die Benutzeroberfläche nicht anzeigen oder Bluetooth-Dienste nicht aktivieren. Darüber hinaus stoppt der Systemprozess sekundäre Hintergrundbenutzer, wenn das Gerät zusätzlichen Speicher für Vorgänge im Vordergrundbenutzer benötigt.

Beachten Sie beim Einsatz mehrerer Benutzer auf einem Android-Gerät das folgende Verhalten:

  • Benachrichtigungen werden für alle Konten eines einzelnen Benutzers gleichzeitig angezeigt.
  • Benachrichtigungen für andere Benutzer werden erst angezeigt, wenn sie aktiv sind.
  • Jeder Benutzer erhält einen Arbeitsbereich zum Installieren und Platzieren von Apps.
  • Kein Benutzer hat Zugriff auf die App-Daten eines anderen Benutzers.
  • Jeder Benutzer kann die installierten Apps für alle Benutzer beeinflussen.
  • Ein Admin-Benutzer kann Apps oder sogar den gesamten von sekundären Benutzern eingerichteten Arbeitsbereich entfernen.
  • Standardmäßig bleiben Informationen aus einer Gastbenutzersitzung beim Verlassen des Gastmodus nicht erhalten. Wenn Sie möchten, dass Informationen aus einer Gastbenutzersitzung erhalten bleiben, müssen Sie eine Ressourcen-Overlay-Datei erstellen, die config_guestUserAllowEphemeralStateChange auf false setzt. Weitere Informationen zum Erstellen von Overlay-Dateien finden Sie unter Anpassen des Builds mit Ressourcen-Overlays .

Android Automotive für mehrere Benutzer

Android Automotive setzt auf die Multi-User-Implementierung von Android, um ein gemeinsames Geräteerlebnis zu bieten.

Benutzertypen im Automobilbereich

Zusätzlich zu den oben aufgeführten Benutzertypen zeichnen sich Automotive-Builds durch folgende Benutzertypen aus:

  • Benutzer eines Headless-Systems. Der Systembenutzer hostet alle Systemdienste. Um mehrere Benutzer auf Automotive zu unterstützen, muss der Systembenutzer außerdem kopflos sein. Es gibt nur einen kopflosen Benutzer. Ein Headless-Systembenutzer:
    • Muss immer im Hintergrund laufen.
    • Kann vom Benutzer nicht entfernt oder direkt darauf zugegriffen werden, außer im Fall der Gerätebereitstellung. Beispielsweise können Benutzer nicht zu diesem Benutzertyp wechseln, um Aufgaben wie das Herunterladen von Apps oder das Hinzufügen von Konten durchzuführen.
    • Kann nur durch Zurücksetzen auf die Werkseinstellungen gelöscht werden.
  • Regelmäßige Benutzer. Dasselbe wie Sekundäre Benutzer , oben beschrieben, mit der Ausnahme, dass sekundäre Benutzer:
    • Laufen Sie nicht im Hintergrund (nachdem Sie von ihm abgeschaltet haben).
    • Kann direkt über die Benutzeroberfläche erstellt werden.
    • Habe App-Daten getrennt, aber einige systemweite Einstellungen gemeinsam genutzt. Zum Beispiel WLAN und Bluetooth.

Vorbehalte

Die folgenden Ausnahmen gelten für Headless-Systembenutzer und reguläre (sekundäre) Benutzer in Automotive:

  • Der Headless-Systembenutzer unterstützt keine Arbeitsprofile.
  • Standardmäßig haben reguläre (sekundäre) Benutzer vollen Zugriff auf Telefonanrufe und Textnachrichten.
  • Standardmäßig werden reguläre (sekundäre) Benutzer nicht im Hintergrund ausgeführt.

Aktivieren des Headless-Systembenutzers

Ab Android 10 kann die Multi-User-Funktion für Automotive-Anwendungsfälle genutzt werden. Wichtige Unterscheidungen sind:

  • Der Systembenutzer ist kopflos und läuft nur im Hintergrund.
  • Menschliche Benutzer interagieren nicht mit dem Systembenutzer.

Um den Headless-Systembenutzer zu ermöglichen, müssen Gerätehersteller den Mehrbenutzermodus wie oben beschrieben aktivieren.

Wenn der Headless-Benutzer aktiviert ist:
  1. Um das Gerät als Automotive zu deklarieren, fügen Sie die Funktion android.hardware.type.automotive hinzu.
  2. Setzen Sie ro.fw.headless_system_user auf true .
  3. Legen Sie den Wert für config_multiuserMaximumUsers auf 2 (oder höher) fest.

Weitere Informationen finden Sie unter Multi-User-Support im Automotive-Bereich.

Android Automotive Multiuser auf mehreren Displays

Eine neue experimentelle Funktion in Android 14 ermöglicht es vollständigen sekundären Benutzern (die nicht der aktuelle Vordergrundbenutzer sind), Aktivitäten zu starten und Zugriff auf die Benutzeroberfläche auf dem Display zu erhalten, dem sie zugewiesen sind. Mit dieser Funktion können mehrere gleichzeitige Benutzer im Android Automotive OS Erlebnisse im Auto unterstützen, die mehreren Passagieren ein dediziertes UI-Erlebnis in einer einzigen Android-Instanz bieten.

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

<!-- 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 mit einem Erlebnis nur für Passagiere (ohne Fahrer) experimentieren, 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>

In Android 14 können Sie als Gastbenutzer das Erlebnis im Auto für mehrere Passagiere aktivieren. Um mehrere Gastbenutzer für die Entwicklungsnutzung zu aktivieren, müssen Gerätehersteller ein Ressourcen-Overlay definieren, das die maximal zulässige Anzahl von Gastbenutzern in frameworks/base/core/res/res/xml/config_user_types.xml konfiguriert, wie im folgenden 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>