Google Glass zazwyczaj obsługuje się jako dedykowane urządzenie z niewielką liczbą aplikacji, które tworzą rozwiązania dla firm. Ten przewodnik pokazuje, jak skonfigurować Google Glass jako urządzenie dedykowane.
Udostępniam
Obsługa administracyjna metodą zero-touch w Glass Enterprise Edition 2 instaluje i konfiguruje aplikację administratora pochodzącą z metadanych podanych w kodzie QR. Ta aplikacja może korzystać z interfejsu API DevicePolicyManager, który jest preferowaną metodą zarządzania konfiguracją urządzenia.
Zastąp program uruchamiający
Aby skonfigurować dedykowane urządzenie, musisz zastąpić aplikację z programu uruchamiającym. Dzięki temu dedykowana aplikacja zostanie uruchomiona automatycznie po ponownym uruchomieniu urządzenia. Poniżej znajdziesz omówienie zadań związanych z przygotowaniem aplikacji i ustawieniem jej jako programu uruchamiającego:
- Filtr intencji użytkownika
- Ustawianie nowego programu uruchamiającego
Filtr intencji użytkownika
Do głównej aktywności 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 metodę addPersistentpreferredActivity() w aplikacji administratora. Działa to tylko wtedy, gdy urządzenie zostało już udostępnione. W przypadku urządzeń, które nie mają obsługi administracyjnej, wybierz nowy program uruchamiający w interfejsie użytkownika urządzenia.
Dodaj stałą aktywność preferowaną
Ta metoda pozwala ustawić dany componentName
jako program uruchamiający na urządzeniu, bez interakcji z urządzeniem.
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 z aplikacjami uruchamiającymi, użyj jednej z tych metod:
Przesuwanie palcem w górę w ustawieniach
Przesuń wstecz do ekranu głównego, aby wyświetlić ekran podsumowania ustawień. Następnie dotknij, aby otworzyć ekran ustawień. Przesuń w górę, aby wyświetlić okno.
Używanie 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ń w górę i w lewo po touchpadzie, aby wybrać preferowaną aplikację i kliknij, aby potwierdzić. Użyj tej samej metody, aby wybrać przycisk "Zawsze".
Tryb blokowania zadań
Tryb zadania blokady pozwala utworzyć listę pakietów, które mogą działać na urządzeniu.
Ustaw dozwolone pakiety
Ten 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);
Uruchom tryb blokowania zadań
Tryb blokowania może zostać uruchomiony przez aktywność aplikacji. Oto, jak możesz to zrobić:
Kotlin
override fun onResume() { super.onResume() activity.startLockTask() }
Java
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }