Работа с внешним экраном

Редактировать

По умолчанию приложения запускаются на экране Эвотор Power (основном). Поэтому сначала проверьте на каком экране запущена нужная activity. Если текущий экран основной, а нужно запустить приложение на внешнем, то используйте метод startActivity с указанием нужного экрана. Для этого используются стандартные средства Android:

  1. Проверьте, что внешний экран подключён. Для этого используйте DisplayManager:
    getSystemService(DisplayManager::class.java).displays.size > 1
    
  2. Убедитесь, что activity запущена на внешнем экране:
    DisplayApi.isActivityOnCustomerScreen(context)
    

    Метод вернёт true, если activity работает на внешнем экране.

  3. Запустите activity на внешнем экране:
    val intent = Intent(this, StartActivity::class.java)
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
    startActivity(intent, DisplayApi.makeOptionsFor(context, Displays.CUSTOMER))
    

    Метод DisplayApi.makeOptionsFor() создаёт bundle с id дисплея, на котором будет запущена activity. Если внешний экран подключен, то activity будет запущена на нём, иначе на текущем.