Android includes APIs and facilities to build “Virtual Reality” (VR) applications including high quality mobile VR experiences. Device implementations MUST properly implement these APIs and behaviors, as detailed in this section.
Android includes support for [VR Mode]( https://developer.android.com/reference/android/app/Activity.html#setVrModeEnabled%28boolean, android.content.ComponentName%29), a feature which handles stereoscopic rendering of notifications and disables monocular system UI components while a VR application has user focus.
If Handheld device implementations include support for the VR mode, they:
android.software.vr.mode
feature.If device implementations declare android.software.vr.mode
feature, they:
android.service.vr.VrListenerService
that can be enabled by VR applications via android.app.Activity#setVrModeEnabled
.If Handheld device implementations are capable of meeting all the requirements to declare the android.hardware.vr.high_performance
feature flag, they:
android.hardware.vr.high_performance
feature flag.If device implementations identify the support of high performance VR for longer user periods through the android.hardware.vr.high_performance
feature flag, they:
android.software.vr.mode feature
.EGL_KHR_mutable_render_buffer
, EGL_ANDROID_front_buffer_auto_refresh
, EGL_ANDROID_get_native_client_buffer
, EGL_KHR_fence_sync
, EGL_KHR_wait_sync
, EGL_IMG_context_priority
, EGL_EXT_protected_content
, and expose the extensions in the list of available EGL extensions.GL_EXT_multisampled_render_to_texture
, GL_OVR_multiview
, GL_OVR_multiview2
, GL_OVR_multiview_multisampled_render_to_texture
, GL_EXT_protected_textures
, and expose the extensions in the list of available GL extensions.AHardwareBuffer
flags AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER
and AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA
as described in the NDK.AHardwareBuffers
with more than one layer.HardwarePropertiesManager.getDeviceTemperatures
API and return accurate values for skin temperature.android.hardware.sensor.hifi_sensors
feature and MUST meet the gyroscope, accelerometer, and magnetometer related requirements for android.hardware.hifi_sensors
.Process.getExclusiveCores
API to return the numbers of the cpu cores that are exclusive to the top foreground application. If exclusive core is supported then the core MUST not allow any other userspace processes to run on it (except device drivers used by the application), but MAY allow some kernel processes to run as necessary.