Glass wird in der Regel als dediziertes Gerät mit einer kleinen Anzahl von Anwendungen konfiguriert, die eine Unternehmenslösung bilden. In der folgenden Anleitung wird beschrieben, wie Sie Glass als dediziertes Gerät einrichten.
Wird bereitgestellt
Bei der Low-Touch-Bereitstellung auf Glass Enterprise Edition 2 wird eine Administratoranwendung installiert und konfiguriert, die aus den in einem QR-Code bereitgestellten Metadaten heruntergeladen wird. Diese Anwendung kann die DevicePolicyManager API nutzen, die die bevorzugte Methode zum Verwalten der Gerätekonfiguration ist.
Launcher ersetzen
Wenn Sie ein dediziertes Gerät einrichten möchten, müssen Sie die Launcher-Anwendung ersetzen. So wird sichergestellt, dass die entsprechende Anwendung nach dem Neustart des Geräts automatisch gestartet wird. Im Folgenden werden die Aufgaben beschrieben, die zum Vorbereiten einer Anwendung und zum Festlegen als Launcher erforderlich sind:
- Intent-Filter für Aktivitäten
- Neuen Launcher festlegen
Intent-Filter für Aktivitäten
Sie müssen die folgenden Kategorien der Hauptaktivität im Manifest Ihrer Anwendung hinzufügen:
<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>
Neuen Launcher festlegen
Rufen Sie addPersistentPreferredActivity() aus der Administratoranwendung auf, um einen neuen Launcher festzulegen. Das funktioniert nur, wenn das Gerät bereits bereitgestellt wurde. Wählen Sie für nicht bereitgestellte Geräte in der Benutzeroberfläche auf dem Gerät einen neuen Launcher aus.
Dauerhafte bevorzugte Aktivität hinzufügen
Mit dieser Methode können Sie eine bestimmte componentName
als Launcher des Geräts festlegen, ohne mit dem Gerät interagieren zu müssen.
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);
Benutzeroberfläche auf dem Gerät verwenden
Verwenden Sie eine der folgenden Methoden, um ein Dialogfeld zur Auswahl des Launchers auf dem Bildschirm anzuzeigen:
Touch-Geste „Nach oben wischen“ in den Einstellungen verwenden
Wische auf dem Startbildschirm nach hinten, um eine Zusammenfassung der Einstellungen aufzurufen. Tippe dann, um die Einstellungen aufzurufen. Wischen Sie nach oben, um das Dialogfeld aufzurufen.
Intent in der Anwendung verwenden
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);
Mit dem adb-Befehl
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
Wische auf dem Touchpad vorwärts und rückwärts, um die gewünschte App auszuwählen, und tippe zur Bestätigung. Wählen Sie die Schaltfläche „Immer“ mit derselben Methode aus.
Aufgabenmodus sperren
Im Modus „Aufgabe sperren“ können Sie eine Liste mit Paketen erstellen, die auf dem Gerät ausgeführt werden dürfen.
Zulässige Pakete festlegen
Das folgende Snippet zeigt, wie Sie die Liste der Pakete festlegen:
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);
Modus „Gesperrte Aufgabe“ starten
Der Modus zum Sperren von Aufgaben kann über die Aktivität der Anwendung gestartet werden. Das folgende Snippet zeigt, wie das geht:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }