По какой-то причине я могу использовать презентационный класс Android только с имитированным дисплеем. Я не могу получить журналы сбоев из-за ограничения используемого оборудования, но я совершенно уверен, что второй дисплей просто не обнаруживается. Вот как я использую дисплей:
В onCreate:
val displayManager = getSystemService(Context.DISPLAY_SERVICE) as DisplayManager
presentationDisplay = displayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION)[0]
val presentation = VideoPresentation(this@MainActivity, presentationDisplay)
presentation.create()
presentation.surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS)
presentation.surfaceHolder.addCallback(...)
VideoPresentation:
class VideoPresentation(context: Context, display: Display) : Presentation(context, display) {
lateinit var surfaceHolder: SurfaceHolder
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.presentation_video) // just a surfaceview in a framelayout
surfaceHolder = findViewById<SurfaceView>(R.id.surfaceView).holder
}
}
Любая идея, почему это может происходить и как решитьэто?