AI 안경의 유형에 따라 기능이 다릅니다. 다양한 유형의 AI 기기를 지원하는 방법을 계획한 후 런타임에 기기 기능을 확인하여 사용자의 기기에 최적의 환경을 제공할 수 있습니다.
기기에 디스플레이가 있는지 확인
일부 AI 안경에는 앱이 Jetpack Compose Glimmer로 빌드된 UI를 표시할 수 있는 디스플레이가 있습니다. 다음 예에서는 글래스 기기에 디스플레이가 있는지 확인하는 방법을 보여줍니다.
// Check device capabilities val projectedDeviceController = ProjectedDeviceController.create(this@GlassesMainActivity) isVisualUiSupported = projectedDeviceController.capabilities.contains(CAPABILITY_VISUAL_UI)
디스플레이 상태 변경에 반응
디스플레이가 있는 AI 안경에서 디스플레이가 시간 초과되거나 사용자가 디스플레이를 끌 수 있습니다. 디스플레이가 켜져 있는지 꺼져 있는지에 관계없이 실행되는 활동을 설계하려면 addPresentationModeChangedListener를 사용하여 디스플레이 상태가 변경될 때 알림을 받으세요. 표시 상태에 따라 적절한 양의 오디오 정보를 위해 활동을 조정할 수 있습니다.
ProjectedDisplayController.create(activity).addPresentationModeChangedListener {
presentationModeFlags ->
val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}
디스플레이를 켠 상태로 유지
디스플레이가 있는 AI 안경에서는 addLayoutParamsFlags을 사용하여 시스템에 화면을 계속 켜고 화면이 시간 초과되지 않도록 요청할 수 있습니다.
var projectedDisplayController = ProjectedDisplayController.create(activity)
projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)