Les lunettes Glass sont généralement configurées pour être utilisées comme appareils dédiés avec un petit nombre d'applications qui constituent une solution d'entreprise. Le guide suivant montre comment configurer Glass en tant qu'appareil dédié.
Provisionnement
Le provisionnement sans contact de Glass Enterprise Edition 2 installe et configure une application d'administration téléchargée à partir des métadonnées fournies par un code QR. Cette application peut exploiter l'API DevicePolicyManager, qui est la méthode préférée pour gérer la configuration de l'appareil.
Remplacer le lanceur d'applications
Pour configurer un appareil dédié, vous devez remplacer l'application de lancement. Cela garantit que l'application dédiée est lancée automatiquement après le redémarrage de l'appareil. Le contenu suivant présente les tâches nécessaires à la préparation d'une application et à sa définition en tant que lanceur d'applications:
- Filtre d'intent d'activité
- Définir un nouveau lanceur d'applications
Filtre d'intent d'activité
Vous devez ajouter les catégories suivantes à l'activité principale du fichier manifeste de votre application:
<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>
Définir un nouveau lanceur d'applications
Pour définir un nouveau lanceur d'applications, appelez addPersistentPreferredActivity() depuis l'application d'administration. Cela ne fonctionne que si l'appareil a déjà été provisionné. Pour les appareils non provisionnés, sélectionnez un nouveau lanceur d'applications dans l'interface utilisateur de l'appareil.
Ajouter une activité préférée persistante
Cette méthode vous permet de définir une componentName
donnée en tant que lanceur de l'appareil, sans interagir avec lui.
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);
Utiliser l'interface utilisateur sur l'appareil
Utilisez l'une des méthodes suivantes pour afficher une boîte de dialogue de sélection du lanceur d'applications à l'écran:
Geste pour balayer l'écran vers le haut dans les paramètres
Balayez l'écran d'accueil vers l'arrière pour afficher un résumé des paramètres. Appuyez ensuite pour accéder à l'écran des paramètres. Balayez l'écran vers le haut pour afficher la boîte de dialogue.
Utiliser l'intent dans l'application
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);
Utiliser la commande adb
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
Balayez l'écran vers l'avant ou vers l'arrière sur le pavé tactile pour sélectionner votre application préférée, puis appuyez pour confirmer. Utilisez la même méthode pour sélectionner le bouton "Toujours".
Mode tâche verrouillée
Le mode Tâche de verrouillage vous permet de créer une liste des packages autorisés à s'exécuter sur l'appareil.
Définir les packages autorisés
L'extrait de code suivant montre comment définir la liste des packages:
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);
Démarrer le mode Tâche de verrouillage
Le mode Tâche de verrouillage peut être activé par l'activité de l'application. L'extrait de code suivant montre comment procéder:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }