Perché non è ansible creare un profilo limitato quando è impostata un'appliance dispositivo proprietario?

Recentemente ho notato che quando viene impostata un'applicazione per il proprietario di dispositivi , non è ansible creare un profilo limitato.

Primo caso : quando l'app proprietario del dispositivo non è impostato .
Da Impostazioni> Utenti : posso "aggiungere utente o profilo" e scegliere tra un utente o un profilo limitato .

  • Ottieni il colore di background di un layout
  • Android Studio - Come aumentare la dimensione del mazzo allocata
  • Layout lineare e peso in Android
  • La torcia elettrica a LED non funziona con Samsung Galaxy Nexus
  • Distanza tra due posizioni nella mappa Android
  • android + universal loader dell'image: mostra il marcatore personalizzato con l'image nella mappa google
  • immettere qui la descrizione dell'immagine

    Secondo caso : quando l'app proprietario del dispositivo è impostato .
    Da Impostazioni> Utenti : posso solo "aggiungere utente" e quindi ricevo la conferma per creare un nuovo utente. In questo secondo caso, non è ansible creare un profilo limitato.

    immettere qui la descrizione dell'immagine

    Vorrei sapere perché non è disponibile in questo caso e come potrei creare un profilo limitato in questo caso?
    La seconda parte della mia domanda è: come posso creare a livello di programmazione un profilo limitato o un comportmento equivalente utilizzando l' API DevicePolicyManager esistente (per quanto posso vedere, non esiste alcuna API pubblica per creare un profilo limitato)?

    UPDATE: Ho fatto un'applicazione di esempio per illustrare questo. È disponibile su Github .

    Passi da riprodurre :

    • Compila l'applicazione
    • Carica l'applicazione sul tuo dispositivo
    • Impostare l'applicazione come proprietario del dispositivo utilizzando lo strumento della row di command dpm: adb shell dpm set-device-owner com.mytest.minimalistdeviceowner/.DeviceAdminRcvr .
    • Verifica che la creazione del profilo non sia disponibile in Impostazioni> Utenti
    • Distriggers l'applicazione come proprietario del dispositivo facendo clic sull'applicazione su "Distriggersre il proprietario del dispositivo".
    • Verifica che la creazione sia ora disponibile in Impostazioni> Utenti

    2 Solutions collect form web for “Perché non è ansible creare un profilo limitato quando è impostata un'appliance dispositivo proprietario?”

    I profili limitati non sono disponibili per le compresse con un proprietario di dispositivi oi telefoni. Viene visualizzato nel codice sorgente dell'applicazione Impostazioni disponibili qui :

     DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService( Context.DEVICE_POLICY_SERVICE); // No restricted profiles for tablets with a device owner, or phones. if (dpm.getDeviceOwner() != null || Utils.isVoiceCapable(context)) { mCanAddRestrictedProfile = false; mAddUser.setTitle(R.string.user_add_user_menu); } 

    Quindi non è un bug, ma una funzionalità. È probabilmente distriggersto per evitare di interferire con l' applicazione Proprietà dispositivo . Dovresti essere a conoscenza di questo e perché hai più potere con l'App Device Owner, significa che dovrai limitare l'utente da te da questa applicazione del dispositivo.

    A tal fine, è ansible utilizzare tutte le API di restrizioni fornite tramite DevicePolicyManager.addUserRestriction() , DevicePolicyManager.setGlobalSetting() , DevicePolicyManager.setSecureSetting() per configurare le impostazioni e anche DevicePolicyManager.setApplicationHidden() per limitare l'accesso delle applicazioni per il proprio utente.

    Perché non è ansible creare un profilo limitato quando è impostata un'appliance dispositivo proprietario?

    Probabilmente perché l'app proprietario del dispositivo gestisce già i profili. Suppongo che sia stato più facile fare questo senza escludere le restrizioni app appartenenti al proprietario del dispositivo.

    Come posso creare un profilo limitato a livello di programmazione?

    Il metodo DevicePolicyManager.createAndInitializeUser() può essere utilizzato per creare un profilo gestito. Questo profilo non può essere gestito direttamente nelle impostazioni, ma l'app proprietario del dispositivo può accedere a quasi tutte le stesse funzionalità.

    Una caratteristica che non riesco a trovare è la possibilità di condividere un'applicazione dal profilo proprietario a quella gestita.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.