Supporta più utenti

Android supporta più utenti su un singolo dispositivo Android separando gli utenti e i dati delle applicazioni. Ad esempio, i genitori possono consentire ai loro figli di usano il tablet di famiglia, una famiglia può condividere un'automobile o un team di risposta critica potrebbero condividere un dispositivo mobile per il servizio di emergenza.

Terminologia

Android utilizza i seguenti termini per descrivere gli utenti e gli account Android.

Generali

Per la gestione dei dispositivi Android vengono utilizzati i seguenti termini generali:

  • Utente: ogni utente è destinato a essere utilizzato da un cliente persona. Ogni utente ha dati dell'applicazione distinti e alcune impostazioni uniche, nonché un'interfaccia utente per passare esplicitamente da un utente all'altro. Un utente può pubblicare in lo sfondo quando un altro utente è attivo; il sistema gestisce l'arresto, agli utenti di risparmiare risorse quando opportuno. È possibile creare utenti secondari direttamente tramite l'interfaccia utente o da un Dispositivo dell'applicazione di amministrazione.
  • Account:gli account sono contenuti all'interno di un utente, ma non sono definiti. da un utente, né un utente viene definito da o collegato a un determinato account. Utenti e profili contengono i propri account univoci ma non è obbligatorio avere gli account di terze parti per garantire la loro operatività. L'elenco degli account varia in base all'utente. Per maggiori dettagli, consulta le Account della classe.
  • Profilo:un profilo ha dati dell'app separati, ma ne condivide alcuni. impostazioni a livello di sistema (ad esempio, Wi-Fi e Bluetooth). Un profilo è un sottoinsieme e sono legati all'esistenza di un utente. Un utente può avere più profili. I profili vengono creati tramite Dispositivo dell'applicazione di amministrazione. Un profilo ha sempre un'associazione immutabile a un utente principale, definito dall'utente che ha creato il profilo. I profili non esistono anche oltre la durata dell'utente che ha creato la campagna.
  • App. Esistono i dati di un'applicazione all'interno di ciascun utente associato. I dati delle app vengono limitati da altre applicazioni all'interno dello stesso utente. App all'interno dello stesso utente possono interagire tramite IPC. Per maggiori dettagli, consulta ad Android per le aziende.

Categorie di utenti

L'amministrazione dei dispositivi Android utilizza le seguenti categorie di utenti.

  • Utente di sistema:il primo utente aggiunto a un dispositivo. L'utente del sistema non può essere rimosso se non in caso di ripristino dei dati di fabbrica ed è sempre in funzione anche quando e altri utenti sono in primo piano. Questo utente dispone anche di privilegi speciali e impostazioni che solo può configurare.
  • Utente di sistema headless: il primo utente aggiunto a un dispositivo se quest'ultimo è configurato per l'esecuzione in modalità utente di sistema headless (configurando ro.fw.mu.headless_system_user=true). L'utente del sistema headless viene sempre eseguito in background, quindi questi dispositivi richiedono agli utenti in primo piano per consentire l'interazione.
  • Utente secondario:qualsiasi utente aggiunto a un dispositivo diverso dal sistema utente. Gli utenti secondari possono essere rimossi (da soli o da un amministratore) utente) e non possono influire su altri utenti di un dispositivo. Questi utenti possono utilizzare in background e mantenere la connettività di rete.
  • Utente ospite:utente secondario temporaneo. Gli ospiti hanno un'esplicita per eliminare rapidamente l'utente ospite una volta terminata la sua utilità. È possibile essere un solo utente ospite alla volta.
  • Utente amministratore:un utente che dispone dell'autorizzazione per creare e rimuovere altri utenti. e controllare alcune impostazioni multiutente generali. Per impostazione predefinita, solo l'utente del sistema è un amministratore.

Categorie di profili

Android utilizza le seguenti categorie di profili:

  • Profilo gestito: creato da un'applicazione per contenere i dati di lavoro. e le app. Sono gestiti esclusivamente dal proprietario del profilo (l'app che il profilo dell'azienda è stato creato). Avvio app, le notifiche e le attività recenti condivise dall'utente principale e dal profilo aziendale.
  • Profilo con limitazioni: utilizza gli account basati sull'utente genitore, che può controllare quali app sono disponibili nel profilo con limitazioni. Disponibile solo su tablet e televisori.
  • Clona profilo: Android supporta la creazione di un utente clone separato per abilitare l'esecuzione di due istanze di una singola app sul dispositivo. AOSP non fornisce il supporto end-to-end per la funzionalità. Gli OEM devono aggiungere personalizzazioni per consegnare funzionalità per gli utenti Android.
  • Profilo privato:è uno spazio sandbox separato dal resto del dispositivo. che può essere bloccato separatamente dall'utente principale. Un profilo privato può esistere solo utente principale. Quando il profilo privato viene sbloccato, le app diventano visibili nelle impostazioni. ShareSheet, Photopicker e DocsUI, ma le app sono nascoste quando bloccate. Il profilo privato può esistere sullo stesso dispositivo insieme al profilo di lavoro e clone.

Tipi di utente

Android 11 ha formulato la suddetta classificazione degli utenti e dei profili in una tipi di utente, che rappresentano tutti i diversi tipi di utenti e profili consentiti funzionalità.

I tipi di utente AOSP predefiniti sono definiti in frameworks/base/core/java/android/os/UserManager.java e attualmente includono:

  • 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

Gli OEM hanno la possibilità di configurare questi tipi di utenti sovrapponendo il frameworks/base/core/res/res/xml/config_user_types.xml. Ciò facilita la modifica della configurazione predefinita per ciascun tipo di utente, incluse restrizioni, icone, badge predefiniti e il numero massimo consentito di utenti.

Oltre ai tipi di utente AOSP configurabili, gli OEM possono definire nuovi tipi di profilo utilizzando il metodo frameworks/base/core/res/res/xml/config_user_types.xml. In questo modo, gli OEM possono introdurre i propri tipi di profili non gestiti, se lo desiderano. Tuttavia, è responsabilità dell'OEM apportare le modifiche alla piattaforma necessarie per supportare il modifiche, inclusa la modifica di qualsiasi codice che verifichi la presenza di profili gestiti per gestire il nuovo profilo. digita, se appropriato.

Attivazione della modalità multiutente

La funzionalità multiutente è disattivata per impostazione predefinita. A attivare la funzionalità, i produttori di dispositivi devono definire un overlay di risorse che i seguenti valori 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>

Per applicare questo overlay e attivare gli utenti ospite e secondari sul dispositivo, usa la funzionalità DEVICE_PACKAGE_OVERLAYS del sistema di build Android per sostituire i valori per:

  • config_multiuserMaximumUsers con un valore maggiore di 1
  • config_enableMultiUserUI con true

I produttori di dispositivi possono decidere il numero massimo di utenti. Se il dispositivo produttori o altri soggetti hanno impostazioni modificate, devono garantire che SMS e funzionalità di telefonia come definito Compatibilità con Android Definition Document (CDD).

Gestione di più utenti

Gestione di utenti e profili (ad eccezione dei profili con limitazioni) viene eseguita da applicazioni che richiamano l'API in modo programmatico DevicePolicyManager classe per limitarne l'utilizzo.

Le aziende possono impiegare utenti e profili per gestire il lifetime dell'utente e l'ambito delle app e dei dati sui dispositivi, usando i tipi descritti sopra in congiunzione con Gestione criteri dispositivi e UserManager. API per creare soluzioni uniche e su misura per i loro casi d'uso.

Comportamento del sistema multiutente

Quando gli utenti vengono aggiunti a un dispositivo, alcune funzionalità vengono ridotte quando un altro utente è in primo piano. Poiché i dati dell'app sono separati per utente, il loro stato varia a seconda dell'utente. Ad esempio, un indirizzo email destinato a un account di un utente attualmente non attivo non sarà disponibile fino a quando quell'utente e quell'account siano attive sul dispositivo.

Nota: per attivare o disattivare il telefono e gli SMS funzioni per un utente secondario, vai a Impostazioni > Utenti, seleziona e disattiva l'impostazione Consenti telefonate e SMS.

Esistono alcune limitazioni quando un utente secondario è in background. Ad esempio, l'utente secondario in background non può visualizzare l'interfaccia utente o Servizi Bluetooth attivi. Inoltre, il processo di sistema interromperà lo sfondo gli utenti secondari se il dispositivo ha bisogno di memoria aggiuntiva per le operazioni nel a un utente in primo piano.

Quando utilizzi più utenti su un dispositivo Android, mantieni quanto segue il seguente comportamento:

  • Le notifiche vengono visualizzate contemporaneamente per tutti gli account di un singolo utente.
  • Le notifiche per altri utenti non vengono visualizzate finché non sono attive.
  • Ogni utente ha a disposizione un'area di lavoro per installare e posizionare le app.
  • Nessun utente ha accesso ai dati dell'app di un altro utente.
  • Qualsiasi utente può influire sulle app installate per tutti gli utenti.
  • Un utente amministratore può rimuovere le app o anche l'intera area di lavoro stabilita da utenti secondari.
  • Per impostazione predefinita, le informazioni di una sessione utente Ospite non vengono mantenute quando si esce dalla modalità Ospite. Se vuoi che le informazioni di una sessione utente Ospite vengano mantenute, devi creare una risorsa di overlay che imposta config_guestUserAllowEphemeralStateChange su false. Per ulteriori informazioni sulla creazione di file di overlay, consulta Personalizzazione della build con overlay di risorse.

Android Automotive multiutente

Android Automotive si basa sull'implementazione multiutente di Android per fornire un dispositivo condiviso un'esperienza senza intervento manuale.

Tipi di utente del settore auto e motori

Oltre ai tipi di utenti sopra elencati, le build di Auto e motori sono notevoli per questi tipi degli utenti:

  • Utente del sistema headless. L'utente del sistema ospita tutti i servizi di sistema. Per supportare più utenti su Automotive, l'utente del sistema deve essere anche headless. C'è solo un utente headless. Un utente del sistema headless:
    • Deve sempre essere eseguita in background.
    • Non possono essere rimossi o accessibili direttamente dall'utente, tranne che nel caso del dispositivo. Provisioning in corso. Ad esempio, gli utenti non possono passare a questo tipo di utente per eseguire attività quali scaricare app o aggiungere account.
    • Può essere cancellato solo con un ripristino dei dati di fabbrica.
  • Utenti normali. Uguale a Utenti secondari, descritti sopra, ad eccezione di quelli secondari utenti:
      .
    • Non eseguire in background (dopo la disattivazione).
    • Possono essere creati direttamente tramite l'interfaccia utente.
    • Hanno dati delle app separati, ma condividono alcune impostazioni a livello di sistema. Ad esempio, Wi-Fi e Bluetooth

Precisazioni

Le seguenti eccezioni si applicano agli utenti di sistema headless e agli utenti normali (secondari) in Auto e motori:

  • L'utente del sistema headless non supporta i profili di lavoro.
  • Per impostazione predefinita, gli utenti normali (secondari) hanno accesso completo alle telefonate e ai messaggi.
  • Per impostazione predefinita, gli utenti normali (secondari) non vengono eseguiti in background.

Attivazione dell'utente di sistema headless

A partire da Android 10, la funzionalità multiutente può essere usata per casi d'uso nel settore auto e motori. Importante le distinzioni includono:

  • L'utente del sistema è headless e viene eseguito solo in background.
  • Gli utenti umani non interagiscono con l'utente del sistema.

Per abilitare l'utente del sistema headless, i produttori di dispositivi devono attivare la funzionalità multiutente come descritto in alto.

Quando l'utente headless è abilitato:
  1. Per dichiarare il dispositivo come Auto e motori, aggiungi la funzionalità android.hardware.type.automotive.
  2. Imposta ro.fw.headless_system_user su true.
  3. Imposta il valore di config_multiuserMaximumUsers su 2 (o superiore).

Per ulteriori informazioni, vedi Supporto multiutente nel settore auto e motori.

Android Automotive multiutente su più display

Una nuova funzionalità sperimentale in Android 14 consente agli utenti secondari completi (che non sono l'attuale utente in primo piano) per avviare attività e ottenere l'accesso all'UI sul display a cui sono assegnati. Questa funzione consente per supportare gli utenti in simultanea del sistema operativo Android Automotive per supportare esperienze in auto che offrono per i passeggeri con un'esperienza UI dedicata in un'unica istanza Android.

Per abilitare questa funzionalità per l'uso in fase di sviluppo, i produttori di dispositivi devono definire un overlay delle risorse per sostituire il seguente valore 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>

Puoi sperimentare un'esperienza solo per i passeggeri (senza conducente) attivando quanto segue configurazione aggiuntiva:

<!-- 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, puoi attivare l'esperienza in auto per più passeggeri come utenti ospiti. Per abilitare più utenti ospiti per l'utilizzo per lo sviluppo, sul dispositivo i produttori devono definire un overlay di risorse che configuri il numero massimo consentito di utenti in frameworks/base/core/res/res/xml/config_user_types.xml, ad esempio esempio:

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