Glass обычно настраивается для использования в качестве выделенного устройства с небольшим набором приложений, составляющих корпоративное решение. В следующем руководстве показано, как настроить Glass в качестве выделенного устройства.
Обеспечение
При использовании технологии Low-Touch Provisioning на Glass Enterprise Edition 2 устанавливается и настраивается приложение администратора, загружаемое из метаданных, предоставленных в QR-коде. Это приложение может использовать API DevicePolicyManager , который является предпочтительным методом управления конфигурацией устройства.
Заменить лаунчер
Чтобы настроить выделенное устройство, необходимо заменить приложение-загрузчик. Это обеспечит автоматический запуск выделенного приложения после перезагрузки устройства. Ниже описаны задачи, связанные с подготовкой приложения и его настройкой в качестве загрузчика:
- Фильтр намерений активности
- Установить новый лаунчер
Фильтр намерений активности
Вам необходимо добавить следующие категории к основному действию в манифесте вашего приложения:
<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>
Установить новый лаунчер
Чтобы настроить новый лаунчер, вызовите метод addPersistentPreferredActivity() из приложения администратора. Это работает только если устройство уже подготовлено. Для устройств без подготовки выберите новый лаунчер в интерфейсе устройства.
Добавить постоянную предпочтительную активность
Этот метод позволяет вам установить заданный componentName
в качестве средства запуска устройства, не взаимодействуя с устройством.
Котлин
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)
Ява
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);
Использовать пользовательский интерфейс на устройстве
Чтобы отобразить на экране диалоговое окно выбора средства запуска, используйте один из следующих способов:
Использование сенсорного жеста «Свайп вверх» в настройках
Проведите пальцем назад по главному экрану, чтобы открыть экран со сводкой настроек. Затем коснитесь экрана, чтобы открыть экран настроек. Проведите пальцем вверх, чтобы открыть диалоговое окно.
Использование намерения в приложении
Котлин
val intent = Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent);
Ява
final Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent);
Использование команды adb
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
Проведите пальцем вперёд и назад по сенсорной панели, чтобы выбрать нужное приложение, и коснитесь его для подтверждения. Таким же образом выберите кнопку «Всегда».
Режим блокировки задач
Режим блокировки задач позволяет создать список пакетов, которым разрешено выполняться на устройстве.
Установить разрешенные пакеты
В следующем фрагменте показано, как настроить список пакетов:
Котлин
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)
Ява
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);
Запустить режим блокировки задач
Режим блокировки задач может быть запущен активностью приложения. Следующий фрагмент кода показывает, как это сделать:
Котлин
override fun onResume() { super.onResume() activity.startLockTask() }
Ява
@Override public void onResume() { super.onResume(); getActivity().startLockTask(); }