Prise en charge de plusieurs utilisateurs

Android prend en charge plusieurs utilisateurs sur un seul appareil Android en séparant les comptes d'utilisateurs et les données d'application. Par exemple, les parents peuvent autoriser leurs enfants à utiliser la tablette familiale, une famille peut partager une automobile ou une équipe d'intervention critique peut partager un appareil mobile pour les astreintes.

Terminologie

Android utilise les termes suivants pour décrire les utilisateurs et les comptes Android.

Général

La gestion des appareils Android utilise les conditions générales suivantes.

  • Utilisateur. Chaque utilisateur est destiné à être utilisé par une personne physique différente. Chaque utilisateur dispose de données d'application distinctes et de paramètres uniques, ainsi que d'une interface utilisateur pour basculer explicitement entre les utilisateurs. Un utilisateur peut s'exécuter en arrière-plan lorsqu'un autre utilisateur est actif ; le système gère l'arrêt des utilisateurs pour conserver les ressources, le cas échéant. Les utilisateurs secondaires peuvent être créées soit directement via l'interface utilisateur ou d'une administration de l' appareil application.
  • Compte. Les comptes sont contenus dans un utilisateur mais ne sont pas définis par un utilisateur, et un utilisateur n'est pas défini par ou lié à un compte donné. Les utilisateurs et les profils contiennent leurs propres comptes uniques mais ne sont pas tenus d'avoir des comptes pour être fonctionnels. La liste des comptes diffère selon l'utilisateur. Pour plus de détails, reportez - vous à la classe compte définition.
  • Profil. Un profil a séparé les données d'application mais partage certains paramètres à l'échelle du système (par exemple, Wi-Fi et Bluetooth). Un profil est un sous-ensemble de, et lié à, l'existence d'un utilisateur. Un utilisateur peut avoir plusieurs profils. Les profils sont créés par une administration périphérique de l' application. Un profil a toujours une association immuable avec un utilisateur parent, défini par l'utilisateur qui a créé le profil. Les profils n'existent pas au-delà de la durée de vie de l'utilisateur créateur.
  • App. Les données d'une application existent au sein de chaque utilisateur associé. Les données d'application sont mises en bac à sable à partir d'autres applications au sein du même utilisateur. Les applications d'un même utilisateur peuvent interagir les unes avec les autres via IPC. Pour plus de détails, reportez - vous à Android pour les entreprises .

Catégories d'utilisateurs

L'administration des appareils Android utilise les catégories d'utilisateurs suivantes.

  • Utilisateur du système. Premier utilisateur ajouté à un appareil. L'utilisateur du système ne peut pas être supprimé sauf par réinitialisation d'usine et est toujours en cours d'exécution même lorsque d'autres utilisateurs sont au premier plan. Cet utilisateur dispose également de privilèges et de paramètres spéciaux que lui seul peut définir.
  • Utilisateur secondaire. Tout utilisateur ajouté à l'appareil autre que l'utilisateur système. Les utilisateurs secondaires peuvent être supprimés (soit par eux-mêmes, soit par un utilisateur administrateur) et ne peuvent pas avoir d'impact sur les autres utilisateurs d'un appareil. Ces utilisateurs peuvent s'exécuter en arrière-plan et continuer à bénéficier d'une connectivité réseau.
  • Utilisateur invité. Utilisateur secondaire temporaire. Les utilisateurs invités ont une option explicite pour supprimer rapidement l'utilisateur invité lorsque son utilité est terminée. Il ne peut y avoir qu'un seul utilisateur invité à la fois.
  • Utilisateur Admin. Un utilisateur qui a l'autorisation de créer et de supprimer d'autres utilisateurs, ainsi que de contrôler certains paramètres multi-utilisateurs généraux. Par défaut, seul l'utilisateur système est un administrateur.

Catégories de profils

L'administration des appareils Android utilise les catégories de profils suivantes.

  • Profil géré. Créé par une application pour contenir des données professionnelles et des applications. Ils sont gérés exclusivement par le propriétaire du profil (l'application qui a créé le profil de l'entreprise). Le lanceur, les notifications et les tâches récentes sont partagés par l'utilisateur parent et le profil de l'entreprise.
  • Profil restreint. Utilise des comptes basés sur l'utilisateur parent, qui peut contrôler les applications disponibles sur le profil restreint. Disponible uniquement sur les tablettes et les téléviseurs.

Types d'utilisateurs

Android 11 a formulé la classification ci - dessus des utilisateurs et des profils dans les types d'utilisateurs bien définis, ce qui représente tous les différents types d'utilisateurs et profils autorisés par la fonction multi-utilisateurs Android.

Les types d'utilisateurs PSBA prédéfinis sont définis dans les frameworks/base/core/java/android/os/UserManager.java et comprennent actuellement:

  • 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

OEM ont la possibilité de configurer ces types d'utilisateurs en superposant les frameworks/base/core/res/res/xml/config_user_types.xml fichier. Cela facilite la modification de la configuration par défaut pour chaque type d'utilisateur, y compris ses restrictions par défaut, ses icônes, ses badges et le nombre maximal autorisé d'utilisateurs.

En plus des types configurables par l'utilisateur de PSBA, OEM peuvent définir de nouveaux types de profils en utilisant la frameworks/base/core/res/res/xml/config_user_types.xml fichier. Cela permet aux OEM d'introduire leurs propres types de profils non gérés s'ils le souhaitent. Cependant, il incombe à l'OEM d'apporter les modifications nécessaires à la plate-forme pour prendre en charge les modifications, y compris la modification de tout code qui vérifie les profils gérés pour gérer désormais le nouveau type de profil, le cas échéant.

Activer le multi-utilisateur

À partir d'Android 5.0, la fonctionnalité multi-utilisateurs est désactivée par défaut. Pour activer la fonction, les fabricants de périphériques doivent définir une superposition de ressources qui remplace les valeurs suivantes dans les 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>

Pour appliquer cette superposition et permettre aux clients et utilisateurs secondaires sur l'appareil, utilisez les DEVICE_PACKAGE_OVERLAYS disposent du système de construction Android pour remplacer les valeurs:

  • config_multiuserMaximumUsers avec une valeur supérieure à 1
  • config_enableMultiUserUI avec true

Les fabricants d'appareils peuvent décider du nombre maximum d'utilisateurs. Si les fabricants d'appareils ou d' autres ont des paramètres modifiés, ils doivent assurer un travail de SMS et de téléphonie tel que défini dans la définition de compatibilité Android document (CDD).

Gestion de plusieurs utilisateurs

Gestion des utilisateurs et des profils (à l'exception des profils restreints) est effectué par des applications qui Invoke API programme dans la DevicePolicyManager classe pour limiter son utilisation.

Les écoles et les entreprises peuvent employer des utilisateurs et des profils pour gérer la durée de vie et la portée des applications et des données sur les appareils, en utilisant les types décrits ci - dessus en liaison avec l' API UserManager pour créer des solutions uniques adaptées à leurs cas d'utilisation.

Comportement du système multi-utilisateurs

Lorsque des utilisateurs sont ajoutés à un appareil, certaines fonctionnalités sont réduites lorsqu'un autre utilisateur est au premier plan. Étant donné que les données d'application sont séparées par utilisateur, l'état de ces applications diffère selon l'utilisateur. Par exemple, les e-mails destinés au compte d'un utilisateur qui ne sont pas actuellement ciblés ne seront pas disponibles tant que cet utilisateur et ce compte ne seront pas actifs sur l'appareil.

Par défaut, seul l'utilisateur du système a un accès complet aux appels téléphoniques et aux SMS. L'utilisateur secondaire peut recevoir des appels entrants mais ne peut ni envoyer ni recevoir de SMS. Un utilisateur administrateur doit activer ces fonctions pour les autres.

Remarque: Pour activer ou désactiver les fonctions téléphone et SMS pour un utilisateur secondaire, allez dans Paramètres> Utilisateurs, sélectionnez l'utilisateur et le commutateur Autoriser les appels téléphoniques et réglage SMS désactivé.

Certaines restrictions existent lorsqu'un utilisateur secondaire est en arrière-plan. Par exemple, l'utilisateur secondaire en arrière-plan ne peut pas afficher l'interface utilisateur ou activer les services Bluetooth. De plus, le processus système arrêtera les utilisateurs secondaires en arrière-plan si l'appareil a besoin de mémoire supplémentaire pour les opérations de l'utilisateur au premier plan.

Lorsque vous employez plusieurs utilisateurs sur un appareil Android, gardez à l'esprit le comportement suivant :

  • Les notifications apparaissent pour tous les comptes d'un même utilisateur à la fois.
  • Les notifications pour les autres utilisateurs n'apparaissent pas tant qu'elles ne sont pas actives.
  • Chaque utilisateur dispose d'un espace de travail pour installer et placer des applications.
  • Aucun utilisateur n'a accès aux données d'application d'un autre utilisateur.
  • Tout utilisateur peut affecter les applications installées pour tous les utilisateurs.
  • Un utilisateur administrateur peut supprimer des applications ou même l'intégralité de l'espace de travail créé par des utilisateurs secondaires.

Android 7.0 inclut plusieurs améliorations, notamment :

  • Profil bascule de travail. Les utilisateurs peuvent désactiver leur profil géré (par exemple lorsqu'ils ne sont pas au travail). Cette fonctionnalité est obtenue en arrêtant l'utilisateur ; Appelle UserManagerService ActivityManagerNative#stopUser() .
  • Toujours sur VPN. Les applications VPN peuvent désormais être activées en permanence par l'utilisateur, le DPC de périphérique ou le DPC de profil géré (s'applique uniquement aux applications de profil géré). Lorsque cette option est activée, les applications ne peuvent pas accéder au réseau public (l'accès aux ressources du réseau est arrêté jusqu'à ce que le VPN se soit connecté et que les connexions puissent être acheminées via celui-ci). Les dispositifs qui rapport device_admin doit mettre en œuvre toujours sur VPN.

Pour plus de détails sur les fonctions d'administration de l' appareil Android 7.0, reportez - vous à Android pour le travail .

Android Automobile Multi-Utilisateur

Android Automotive s'appuie sur la mise en œuvre multi-utilisateurs d'Android pour offrir une expérience d'appareil partagée.

Types d'utilisateurs automobiles

En plus des types d'utilisateurs répertoriés ci-dessus, les versions automobiles sont remarquables pour ces types d'utilisateurs :

  • Utilisateur du système sans tête. L'utilisateur système héberge tous les services système. Pour prendre en charge plusieurs utilisateurs sur l' automobile, l'utilisateur du système doit également être sans tête. Il n'y a qu'un seul utilisateur sans tête. Un utilisateur du système sans tête :
    • Doit toujours fonctionner en arrière-plan.
    • Ne peut pas être supprimé ou accessible directement par l'utilisateur, sauf dans le cas de l'approvisionnement de l'appareil. Par exemple, les utilisateurs ne peuvent pas basculer vers ce type d'utilisateur pour effectuer des tâches telles que télécharger des applications ou ajouter des comptes.
    • Ne peut être effacé que par une réinitialisation d'usine.
  • Utilisateurs réguliers. La même chose que les utilisateurs secondaires , décrits ci - dessus, sauf que les utilisateurs secondaires:
    • Ne pas exécuter en arrière-plan (après avoir été désactivé).
    • Peut être créé directement via l'interface utilisateur.
    • Avoir séparé les données d'application mais partager certains paramètres à l'échelle du système. Par exemple, Wi-Fi et Bluetooth.

Mises en garde

Les exceptions suivantes s'appliquent aux utilisateurs du système sans tête et aux utilisateurs réguliers (secondaires) dans l'automobile :

  • L'utilisateur du système sans tête ne prend pas en charge les profils de travail.
  • Par défaut, les utilisateurs réguliers (secondaires) ont un accès complet aux appels téléphoniques et aux SMS.
  • Par défaut, les utilisateurs normaux (secondaires) ne s'exécutent pas en arrière-plan.

Activation de l'utilisateur du système sans tête

À partir d'Android 10, la fonctionnalité multi-utilisateurs peut être utilisée pour les cas d'utilisation automobile. Les distinctions importantes comprennent :

  • L'utilisateur du système est sans tête et s'exécute uniquement en arrière-plan.
  • Les utilisateurs humains n'interagissent pas avec l'utilisateur du système.

Pour activer l'utilisateur du système sans tête, les fabricants d'appareils doivent activer le multi-utilisateur comme décrit ci-dessus.

Lorsque l'utilisateur sans tête est activé :
  1. Pour déclarer l'appareil à être Automotive, ajouter la fonction android.hardware.type.automotive .
  2. Set ro.fw.headless_system_user à true .
  3. Définissez la valeur de config_multiuserMaximumUsers à 2 (ou plus).

Pour plus d' informations, consultez Prise en charge multi-utilisateur dans l' automobile.