Dispositivi dedicati

Glass è in genere configurato per essere utilizzato come dispositivo dedicato con un numero limitato di applicazioni che costituiscono una soluzione aziendale. La seguente guida illustra come configurare Glass come dispositivo dedicato.

Provisioning in corso…

Il provisioning basso di Glass Enterprise Edition 2 installa e configura un'applicazione di amministrazione scaricata dai metadati forniti in un codice QR. Questa applicazione può utilizzare l'API DevicePolicyManager, che è il metodo preferito per gestire la configurazione del dispositivo.

Sostituisci Avvio app

Per configurare un dispositivo dedicato, devi sostituire l'applicazione in Avvio applicazioni. Ciò garantisce che l'applicazione dedicata venga avviata automaticamente dopo il riavvio del dispositivo. I contenuti seguenti descrivono le attività necessarie per la preparazione di un'applicazione e la sua impostazione come Avvio app:

  • Filtro per intenzione di attività
  • Impostare un nuovo Avvio app
  • Filtro intent attività

    Devi aggiungere le seguenti categorie all'attività principale nel manifest della tua applicazione:

    <intent-filter>
      <action android:name="android.intent.action.MAIN"/>
      <category android:name="android.intent.category.LAUNCHER"/>
    
      <category android:name="android.intent.category.HOME"/>
      <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    

    Impostare un nuovo Avvio app

    Per impostare un nuovo utilità di avvio, chiama addPersistentPreferredActivity() dall'applicazione di amministrazione. Questa operazione funziona solo se è già stato eseguito il provisioning del dispositivo. Per i dispositivi di cui non è stato eseguito il provisioning, seleziona un nuovo Avvio app dall'interfaccia utente sul dispositivo.

    Aggiungi attività preferita permanente

    Questo metodo ti consente di impostare un componentName specifico come Avvio app del dispositivo, senza interagire con il dispositivo.

    Kotlin

    val filter = IntentFilter(Intent.ACTION_MAIN)
    filter.addCategory(Intent.CATEGORY_HOME)
    filter.addCategory(Intent.CATEGORY_DEFAULT)
    
    val componentName = ComponentName(PACKAGE_NAME, CLASS_NAME)
    val devicePolicyManager: DevicePolicyManager =
        context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
    val adminName = getComponentName(context)
    devicePolicyManager.addPersistentPreferredActivity(adminName, filter, componentName)
    

    Java

    final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN);
    filter.addCategory(Intent.CATEGORY_HOME);
    filter.addCategory(Intent.CATEGORY_DEFAULT);
    
    final ComponentName componentName = new ComponentName(PACKAGE_NAME, CLASS_NAME);
    DevicePolicyManager devicePolicyManager =
        (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
    final adminName = getComponentName(context);
    devicePolicyManager.addPersistentPreferredActivity(adminName, filter, componentName);
    

    Utilizza l'UI sul dispositivo

    Utilizza uno dei seguenti metodi per visualizzare una finestra di dialogo per la selezione di Avvio app sullo schermo:

    Utilizzo del gesto di scorrimento verso l'alto nelle impostazioni

    Scorri a ritroso nella schermata Home per visualizzare una schermata di riepilogo delle impostazioni. Dopodiché, tocca per accedere alla schermata delle impostazioni. Scorri verso l'alto per visualizzare la finestra di dialogo.

    Utilizzo di intent nell'applicazione

    Kotlin

    val intent = Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
    

    Java

    final Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
    
    Utilizzo del comando ADB

    adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME

    Scorri in avanti e indietro sul touchpad per selezionare l'applicazione che preferisci e tocca per confermare. Utilizza lo stesso metodo per selezionare il pulsante "Sempre".

    Bloccare la modalità Attività

    La modalità di blocco attività ti consente di creare un elenco di pacchetti di cui è consentita l'esecuzione sul dispositivo.

    Imposta pacchetti consentiti

    Il seguente snippet mostra come impostare l'elenco di pacchetti:

    Kotlin

    private val KIOSK_PACKAGE = "com.example.kiosk"
    private val PLAYER_PACKAGE = "com.example.player"
    private val APP_PACKAGES = arrayOf(KIOSK_PACKAGE, PLAYER_PACKAGE)
    
    val devicePolicyManager: DevicePolicyManager =
      context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
    val adminName = getComponentName(context)
    devicePolicyManager.setLockTaskPackages(adminName, APP_PACKAGES)
    

    Java

    private static final String KIOSK_PACKAGE = "com.example.kiosk";
    private static final String PLAYER_PACKAGE = "com.example.player";
    private static final String[] APP_PACKAGES = {KIOSK_PACKAGE, PLAYER_PACKAGE};
    
    final DevicePolicyManager devicePolicyManager =
        (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
    final ComponentName adminName = getComponentName(context);
    devicePolicyManager.setLockTaskPackages(adminName, APP_PACKAGES);
    

    Avviare il blocco della modalità attività

    Il blocco della modalità attività può essere avviato dall'attività dell'applicazione. Lo snippet che segue mostra come farlo:

    Kotlin

    override fun onResume() {
        super.onResume()
        activity.startLockTask()
    }
    

    Java

    @Override
    public void onResume() {
      super.onResume();
      getActivity().startLockTask();
    }