Выделенные устройства

Glass обычно настраивается для использования в качестве выделенного устройства с небольшим количеством приложений, составляющих корпоративное решение. В следующем руководстве показано, как настроить Glass в качестве выделенного устройства.

Предоставление

Автоматическая подготовка в 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();
    }