Utilizzo di profili gestiti

Un profilo o di lavoro profilo gestito è un Android utente con l'aggiunta di proprietà speciali in giro per la gestione ed estetica visiva.

L'obiettivo principale di un profilo gestito è creare uno spazio segregato e sicuro per la residenza dei dati gestiti (come i dati aziendali). L'amministratore del profilo ha il controllo completo sull'ambito, l'ingresso e l'uscita dei dati, nonché la loro durata. Questi criteri offrono grandi poteri e quindi ricadono sul profilo gestito anziché sull'amministratore del dispositivo.

  • Creazione. I profili gestiti possono essere creati da qualsiasi applicazione nell'utente principale. L'utente viene informato dei comportamenti del profilo gestito e dell'applicazione dei criteri prima della creazione.
  • Management. Gestione viene eseguito da applicazioni che programmaticamente Invoke API nel DevicePolicyManager classe per limitare l'uso. Tali applicazioni sono indicati come proprietari di profili e sono definiti durante la configurazione iniziale del profilo. I criteri univoci per il profilo gestito riguardano le restrizioni delle app, l'aggiornabilità e i comportamenti degli intenti.
  • Trattamento visivo. Le applicazioni, le notifiche e i widget del profilo gestito sono sempre contrassegnati da badge e in genere resi disponibili in linea con gli elementi dell'interfaccia utente (UI) dell'utente principale.

Segregazione dei dati

I profili gestiti utilizzano le seguenti regole di segregazione dei dati.

Applicazioni

Le applicazioni vengono definite con i propri dati separati quando la stessa app esiste nell'utente principale e nel profilo gestito. In genere, le applicazioni agiscono indipendentemente l'una dall'altra e non possono comunicare direttamente tra loro attraverso il confine profilo-utente.

Conti

Gli account nel profilo gestito sono nettamente univoci rispetto all'utente principale. Non è possibile accedere alle credenziali attraverso il confine profilo-utente. Solo le app nel rispettivo contesto possono accedere ai rispettivi account.

intenti

L'amministratore controlla se gli intent vengono risolti dentro/fuori dal profilo gestito o meno. Le applicazioni del profilo gestito hanno l'ambito predefinito per rimanere all'interno dell'eccezione del profilo gestito dell'API Device Policy.

Impostazioni

L'applicazione delle impostazioni è generalmente limitata all'ambito del profilo gestito, con eccezioni per la schermata di blocco e le impostazioni di crittografia che sono ancora limitate all'ambito del dispositivo e condivise tra l'utente principale e il profilo gestito. In caso contrario, il proprietario di un profilo non dispone di privilegi di amministratore del dispositivo al di fuori del profilo gestito.

I profili gestiti vengono implementati come un nuovo tipo di utente secondario, in modo tale che:

uid = 100000 * userid + appid

Hanno dati dell'app separati come gli utenti normali:

/data/user/<userid>

L'UserId è calcolato per tutte le richieste di sistema tramite Binder.getCallingUid() , e lo stato del sistema e le risposte sono separati da userId. Si può considerare utilizzando invece Binder.getCallingUserHandle piuttosto che getCallingUid per evitare confusione tra uid e ID utente.

AccountManagerService mantiene un elenco separato di account per ciascun utente. Le principali differenze tra un profilo gestito e un normale utente secondario sono le seguenti:

  • Il profilo gestito è associato al suo utente principale e avviato insieme all'utente principale al momento dell'avvio.
  • Le notifiche per i profili gestiti sono abilitate da ActivityManagerService consentendo al profilo gestito di condividere lo stack di attività con l'utente principale.
  • Altri servizi di sistema condivisi includono IME, servizi A11Y, Wi-Fi e NFC.
  • Le nuove API di avvio consentono ai lanciatori di visualizzare app con badge e widget nella whitelist dal profilo gestito insieme alle app nel profilo principale senza cambiare utente.

Gestione dei dispositivi

La gestione dei dispositivi Android include i seguenti tipi di gestione dei dispositivi per le aziende:

  • Proprietario del profilo. Progettato per ambienti Bring Your Own Device (BYOD)
  • Dispositivo proprietario. Progettato per ambienti a rischio d'impresa

La maggior parte delle nuove API di gestione dei dispositivi aggiunte per Android 5.0 sono disponibili solo per i proprietari di profili o dispositivi. La gestione dei dispositivi tradizionale rimane, ma è applicabile al caso più semplice solo per i consumatori (ad esempio, trova il mio dispositivo).

Proprietari del profilo

Un'app Device Policy Client (DPC) in genere funge da proprietario del profilo. L'app DPC viene in genere fornita da un partner per la gestione della mobilità aziendale (EMM), come Google Apps Device Policy.

L'applicazione profilo proprietario crea un profilo gestito sul dispositivo inviando ACTION_PROVISION_MANAGED_PROFILE intento. Questo profilo si distingue per l'aspetto delle istanze di app con badge, nonché per le istanze personali. Quel badge, o icona di gestione del dispositivo Android, identifica quali app sono app di lavoro.

L'EMM ha il controllo solo sul profilo gestito (non sullo spazio personale) con alcune eccezioni, come l'applicazione della schermata di blocco.

Proprietari di dispositivi

Il proprietario del dispositivo può essere impostato solo in un dispositivo senza provisioning:

  • Può essere fornito solo durante la configurazione iniziale del dispositivo
  • Divulgazione forzata sempre visualizzata nelle impostazioni rapide

I proprietari dei dispositivi possono svolgere alcune attività che i proprietari dei profili non possono svolgere, ad esempio:

  • Cancella i dati del dispositivo
  • Disattiva Wi-Fi/Bluetooth
  • controllo setGlobalSetting
  • setLockTaskPackages (la capacità di pacchetti whitelist che si può pin primo piano)
  • Set DISALLOW_MOUNT_PHYSICAL_MEDIA ( FALSE per impostazione predefinita). Quando TRUE , supporti fisici, sia portatili e adottabili, non possono essere montati.

API DevicePolicyManager

Android 5.0 e versioni successive offrono un DevicePolicyManager notevolmente migliorato con dozzine di nuove API per supportare i casi d'uso di gestione sia di proprietà aziendale che BYOD (Bring Your Own Device). Gli esempi includono le restrizioni delle app, l'installazione invisibile di certificati e il controllo dell'accesso all'intento di condivisione tra profili. Utilizzare l'esempio Device Policy client (DPC) app BasicManagedProfile.apk come punto di partenza. Per ulteriori informazioni, fare riferimento alla costruzione di un controller delle norme di lavoro .

Esperienza utente del profilo gestito

Android 9 crea un'integrazione più stretta tra i profili gestiti e la piattaforma, rendendo più facile per gli utenti mantenere separati il ​​proprio lavoro e le informazioni personali sui propri dispositivi. Queste modifiche all'esperienza utente del profilo gestito vengono visualizzate in Avvio applicazioni. L'implementazione delle modifiche al profilo gestito UX crea un'esperienza utente coerente tra i dispositivi gestiti.

Modifiche all'esperienza utente per i dispositivi con una barra delle applicazioni

Le modifiche all'esperienza utente del profilo gestito per Launcher 3 in Android 9 aiutano gli utenti a mantenere profili personali e gestiti separati. Il cassetto delle app fornisce una visualizzazione a schede per distinguere tra le app del profilo personale. Quando gli utenti visualizzano per la prima volta la scheda del profilo gestito, viene loro presentata una visualizzazione didattica per aiutarli a navigare nel profilo gestito. Gli utenti possono anche attivare e disattivare il profilo gestito utilizzando un interruttore nella scheda di lavoro del Launcher.

Viste profilo a schede

In Android 9, il profilo gestito consente agli utenti di passare dagli elenchi di app personali a quelli gestiti nel cassetto delle app. Quando il profilo gestito è abilitato, le visualizzazioni di app sono separati in due distinti RecyclerViews , gestiti da un ViewPager . Gli utenti possono passare da una vista all'altra dei diversi profili utilizzando le schede dei profili nella parte superiore del cassetto delle app. Il PersonalWorkSlidingTabStrip classe fornisce un'implementazione di riferimento dell'indicatore profilo schede. La visualizzazione a schede viene implementato come parte della classe Launcher3 AllAppsContainerView .

Personal tab viewManaged profile toggle
Figura 1. Personal vista tab Figura 2. Lavorare vista scheda con il profilo ginocchiera gestita nella parte inferiore dello schermo

Vista educativa

Launcher3 ha anche la possibilità di presentare una vista educativo nella parte inferiore dello schermo quando gli utenti aprono prima scheda lavoro, come visibile in figura 3. Utilizza la visualizzazione didattica per informare gli utenti sullo scopo della scheda di lavoro e su come rendere più facile l'accesso alle app di lavoro.

La vista educativo è definito in Android 9 e superiore dalla classe BottomUserEducationView con il layout controllato da work_tab_tottom_user_education_view.xml . All'interno BottomUserEducationView , il KEY_SHOWED_BOTTOM_USER_EDUCATION booleano è impostato su false per impostazione predefinita. Quando l'utente chiude la vista educativo, il booleano è impostato su true .

Educational view

Guarda la figura 3. Formazione in tab lavoro

Attiva/disattiva i profili gestiti

Nella scheda lavoro, amministratori dispositivo gestiti possono presentare una ginocchiera nella vista piè per utenti di abilitare o disabilitare il profilo gestito come si vede in figura 2 sopra. L'origine per l'interruttore si trova in WorkFooterContainer , a partire dal Android 9. Attivazione e disattivazione del profilo gestito avviene in modo asincrono e applicata a tutti i profili di utente valido. Questo processo è controllato dal WorkModeSwitch classe Android 9.

Modifiche all'esperienza utente per i dispositivi senza una barra delle applicazioni

Per i lanciatori senza una barra delle applicazioni, si consiglia di continuare a inserire collegamenti alle app del profilo gestito nella cartella di lavoro.

Se la cartella di lavoro non riesce a compilare correttamente, e le applicazioni di nuova installazione non vengono aggiunti alla cartella, applicare la seguente modifica nel onAllAppsLoaded metodo nella ManagedProfileHeuristic classe:

for (LauncherActivityInfo app : apps) {
        // Queue all items which should go in the work folder.
        if (app.getFirstInstallTime() < Long.MAX_VALUE) {
                InstallShortcutReceiver.queueActivityInfo(app, context);
        }
}

Convalida delle modifiche all'esperienza utente

Testare l'implementazione dell'esperienza utente del profilo gestito utilizzando l'app TestDPC.

  1. Installare l' TestDPC app dal Google Play Store.
  2. Aprire il cassetto launcher o applicazioni e selezionare il set up TestDPC icona.
  3. Segui le istruzioni sullo schermo per configurare un profilo gestito.
  4. Apri il launcher o il cassetto delle app e verifica che sia presente una scheda di lavoro.
  5. Verificare che nella scheda Lavoro sia presente un piè di pagina del profilo gestito.
  6. Verifica di poter attivare e disattivare l'interruttore del profilo gestito. Il profilo gestito deve essere abilitato e disabilitato di conseguenza.
TestDPC profile setupTestDPC add accountsTestDPC setup complete
Figura 4. La creazione di un profilo gestito in Set up TestDPC Figura 5. conti Aggiungi nella configurare TestDPC Figura 6. Set up completo
App drawer work tab toggle onApp drawer work tab toggle off
Cassetto Figura 7. App con una linguetta lavoro. L'interruttore piè di pagina profilo gestito è ON, e il profilo gestito è abilitato. Cassetto Figura 8. App con una linguetta lavoro. L'interruttore piè di pagina profilo gestito è OFF, e il profilo gestito è disattivato.

Badge dell'app del profilo gestito

Per motivi di accessibilità, il colore del badge di lavoro cambia da arancione a blu (#1A73E8) in Android 9.