Urządzenie Glass jest zwykle skonfigurowane do użytku jako urządzenie dedykowane z niewielką liczbą aplikacji, które składają się na rozwiązanie dla przedsiębiorstw. Z tego przewodnika dowiesz się, jak skonfigurować Glass jako urządzenie dedykowane.
Udostępniam
Automatyczna konfiguracja na Glass Enterprise Edition 2 instaluje i konfiguruje aplikację administratora, która jest pobierana z metadanych podanych w kodzie QR. Ta aplikacja może korzystać z interfejsu DevicePolicyManager, który jest preferowaną metodą zarządzania konfiguracją urządzenia.
Zastępowanie programu uruchamiającego
Aby skonfigurować urządzenie dedykowane, musisz zastąpić aplikację uruchamiającą. Dzięki temu po ponownym uruchomieniu urządzenia dedykowana aplikacja zostanie uruchomiona automatycznie. Poniżej opisujemy czynności związane z przygotowaniem aplikacji i ustawieniem jej jako programu uruchamiającego:
- Filtr intencji działania
- Ustawianie nowego programu uruchamiającego
Filtr intencji działania
Do głównego działania w pliku manifestu aplikacji musisz dodać te kategorie:
<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>
Ustawianie nowego programu uruchamiającego
Aby ustawić nowy program uruchamiający, wywołaj funkcję addPersistentPreferredActivity() z aplikacji administracyjnej. Działa to tylko wtedy, gdy urządzenie zostało już skonfigurowane. W przypadku urządzeń nieprzygotowanych wybierz nowy program uruchamiający w interfejsie urządzenia.
Dodawanie trwałej preferowanej aktywności
Ta metoda umożliwia ustawienie danej componentName
jako programu uruchamiającego na urządzeniu bez interakcji z nim.
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);
Korzystanie z interfejsu na urządzeniu
Aby wyświetlić na ekranie okno wyboru programu uruchamiającego, skorzystaj z jednej z tych metod:
Używanie gestu dotykowego przesuwania w ustawieniach
Przesuń palcem do tyłu na ekranie głównym, aby wyświetlić ekran podsumowania ustawień. Następnie kliknij, aby otworzyć ekran ustawień. Przesuń palcem w górę, aby wyświetlić okno.
Wykorzystanie intencji w aplikacji
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);
Korzystanie z polecenia adb
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
Przesuń palcem po touchpadzie do przodu lub do tyłu, aby wybrać preferowaną aplikację, a następnie kliknij, aby potwierdzić. Wybierz przycisk „Zawsze” w ten sam sposób.
Tryb blokowania zadań
Tryb blokowania zadań umożliwia utworzenie listy pakietów, które mogą być uruchamiane na urządzeniu.
Ustawianie dozwolonych pakietów
Poniższy fragment kodu pokazuje, jak ustawić listę pakietów:
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);
Włączanie trybu blokowania zadań
Tryb zablokowanych zadań może zostać uruchomiony przez aktywność aplikacji. Poniższy fragment kodu pokazuje, jak to zrobić:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }