Verificar os recursos do dispositivo durante a execução para óculos de áudio e óculos de tela

Dispositivos XR relevantes
Estas orientações ajudam você a criar experiências para esses tipos de dispositivos XR.
Óculos de áudio e
display

Diferentes tipos de óculos de áudio e de exibição têm recursos diferentes. Depois de planejar como você vai oferecer suporte a diferentes tipos de dispositivos de IA, verifique os recursos do dispositivo durante a execução para oferecer a melhor experiência para o dispositivo de um usuário.

Verificar se um dispositivo tem uma tela

Os óculos de exibição podem mostrar interfaces criadas com o Glimmer do Jetpack Compose. O exemplo a seguir mostra como verificar se um dispositivo de óculos tem uma tela:

// Check device capabilities
val projectedDeviceController = ProjectedDeviceController.create(this@GlassesMainActivity)
isVisualUiSupported = projectedDeviceController.capabilities.contains(CAPABILITY_VISUAL_UI)

Reagir a mudanças de estado de exibição

Nos óculos de exibição, o display pode expirar ou o usuário pode desativá-lo. Para criar atividades que sejam executadas com a tela ligada ou desligada, use addPresentationModeChangedListener para receber uma notificação quando o estado da tela mudar. Você pode ajustar sua atividade para a quantidade adequada de informações de áudio, dependendo do estado da tela.

ProjectedDisplayController.create(activity).addPresentationModeChangedListener {
    presentationModeFlags ->

    val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}

Manter a tela ligada

Em óculos de exibição, você pode pedir que o sistema mantenha a tela ligada e evite que ela atinja o tempo limite usando addLayoutParamsFlags.

var projectedDisplayController = ProjectedDisplayController.create(activity)

projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)