In genere, Glass è configurato per essere utilizzato come dispositivo dedicato con un numero ridotto di applicazioni che compongono una soluzione aziendale. La seguente guida mostra come configurare Glass come dispositivo dedicato.
Provisioning
Il provisioning low-touch su Glass Enterprise Edition 2 installa e configura un'applicazione amministrativa scaricata dai metadati forniti in un codice QR. Questa applicazione può sfruttare l'API DevicePolicyManager, che è il metodo preferito per gestire la configurazione del dispositivo.
Sostituzione di Avvio app
Per configurare un dispositivo dedicato, devi sostituire l'applicazione di avvio. In questo modo, l'applicazione dedicata viene avviata automaticamente dopo il riavvio del dispositivo. I seguenti contenuti descrivono le attività coinvolte nella preparazione di un'applicazione e nella sua impostazione come launcher:
- Filtro per intent attività
- Impostare un nuovo launcher
Filtro per intent di 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 launcher
Per impostare un nuovo launcher, chiama addPersistentPreferredActivity() dall'applicazione di amministrazione. Questa operazione funziona solo se il dispositivo è già stato sottoposto a provisioning. Per i dispositivi non sottoposti a provisioning, seleziona un nuovo launcher dall'interfaccia utente del dispositivo.
Aggiungere un'attività preferita persistente
Questo metodo ti consente di impostare un determinato componentName
come launcher 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);
Utilizzare l'interfaccia utente sul dispositivo
Utilizza uno dei seguenti metodi per visualizzare una finestra di dialogo di selezione dell'app di avvio sullo schermo:
Utilizzo del gesto di tocco e scorrimento verso l'alto nelle impostazioni
Scorri indietro sulla schermata Home per visualizzare una schermata di riepilogo delle impostazioni. Quindi, tocca per accedere alla schermata delle impostazioni. Scorri verso l'alto per visualizzare la finestra di dialogo.
Utilizzo dell'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 avanti e indietro sul touchpad per selezionare l'applicazione che preferisci e tocca per confermare. Utilizza lo stesso metodo per selezionare il pulsante "Sempre".
Modalità di blocco attività
La modalità Blocco attività consente di creare un elenco di pacchetti autorizzati a essere eseguiti sul dispositivo.
Impostare i pacchetti consentiti
Il seguente snippet mostra come impostare l'elenco dei 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 la modalità di blocco attività
La modalità di blocco attività può essere avviata dall'attività dell'applicazione. Il seguente snippet mostra come puoi farlo:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }