Glass ist normalerweise so konfiguriert, dass es als dediziertes Gerät mit einer kleinen Anzahl von Anwendungen verwendet wird, die eine Unternehmenslösung bilden. Im folgenden Leitfaden erfahren Sie, wie Sie Glass als eigenes Gerät einrichten.
Wird bereitgestellt
Bei der einfachen Nutzerverwaltung in 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 bevorzugte Methode zum Verwalten der Gerätekonfiguration.
Launcher ersetzen
Wenn Sie ein dediziertes Gerät einrichten möchten, müssen Sie die Launcher-Anwendung ersetzen. Dadurch wird die entsprechende Anwendung nach dem Neustart des Geräts automatisch gestartet. Im Folgenden werden die Aufgaben beschrieben, die beim Vorbereiten einer Anwendung und beim Festlegen als Launcher erforderlich sind:
- Aktivitäts-Intent-Filter
- Neuen Launcher einrichten
Filter für Intent-Aktivität
Sie müssen der Hauptaktivität im Manifest Ihrer App die folgenden Kategorien 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 einrichten
Rufen Sie zum Festlegen eines neuen Launchers addPersistentPreferredActivity() aus der Administratoranwendung auf. Dies funktioniert nur, wenn das Gerät bereits bereitgestellt wurde. Wählen Sie für nicht bereitgestellte Geräte in der UI einen neuen Launcher auf dem Gerät aus.
Persistente bevorzugte Aktivität hinzufügen
Mit dieser Methode kannst du einen bestimmten componentName
als Launcher des Geräts festlegen, ohne mit dem Gerät zu interagieren.
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);
UI auf dem Gerät verwenden
Verwenden Sie eine der folgenden Methoden, um ein Dialogfeld zur Auswahl des Launchers auf dem Bildschirm anzuzeigen:
Wischgeste in den Einstellungen wird verwendet
Wische auf dem Startbildschirm rückwärts, um die Einstellungsübersicht aufzurufen. Tippe dann, um den Bildschirm mit den Einstellungen aufzurufen. Wischen Sie nach oben, um das Dialogfeld einzublenden.
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);
ADB-Befehl verwenden
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
Wische auf dem Touchpad vor und zurück, um deine bevorzugte Anwendung auszuwählen, und tippe zum Bestätigen. Verwenden Sie dieselbe Methode, um die Schaltfläche „Immer“ auszuwählen.
Aufgabenmodus sperren
Im Sperraufgabenmodus können Sie eine Liste von 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 zum Sperren von Aufgaben starten
Der Modus zum Sperren der Aufgabe kann über die Aktivität der App gestartet werden. Im folgenden Snippet sehen Sie, wie das funktioniert:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }