androidx.xr.runtime.manifest


Constants summary

const String

Gets approximate eye gaze.

const String

Gets precise eye gaze data.

const String

Gets face tracking data.

const String

Gets hand tracking data.

const String

Gets head tracking data.

const String

Gets data derived by sensing the user's environment.

const String

Gets highly precise data derived by sensing the user's environment, such as a depth map.

Top-level properties summary

String

Intent category for displaying the activity in a projected XR launcher.

String

Activity level ActivityInfo.requiredDisplayCategory to display on projected displays.

String

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports OpenXR.

String

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports the Android XR Spatial APIs.

String

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports XR input from XR controllers.

String

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports XR input from the user's eye gaze.

String

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports XR input from the user's hands.

String

Application or Activity level PackageManager.Property for launch mode in XR.

String

Application or Activity level PackageManager.Property for recommended safety boundaries.

String

Application or Activity level PackageManager.Property controlling default enter/exit animations.

String

Value to launch an activity in managed full space mode.

String

Value to launch an activity in unmanaged full space mode.

String

Value to launch an activity in home space mode in XR.

String

The default value if not specified.

String

Value to launch an activity with a large boundary recommended.

String

Value to launch an activity with no recommendations for the type of safety boundary.

String

Group for permissions accessing user and environment XR tracking data.

String

Used for permissions that are associated with accessing particularly sensitive XR tracking data.

Constants

EYE_TRACKING_COARSE

const val EYE_TRACKING_COARSEString

Gets approximate eye gaze.

Protection level: dangerous

Constant Value: "android.permission.EYE_TRACKING_COARSE"

EYE_TRACKING_FINE

const val EYE_TRACKING_FINEString

Gets precise eye gaze data.

Protection level: dangerous

Constant Value: "android.permission.EYE_TRACKING_FINE"

const val FACE_TRACKINGString

Gets face tracking data.

Protection level: dangerous

Constant Value: "android.permission.FACE_TRACKING"

const val HAND_TRACKINGString

Gets hand tracking data.

Protection level: dangerous

Constant Value: "android.permission.HAND_TRACKING"

const val HEAD_TRACKINGString

Gets head tracking data. Unmanaged activities (OpenXR activities with the manifest property "android.window.PROPERTY_XR_ACTIVITY_START_MODE" set to "XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED") do not require this permission to get head tracking data.

{@see https://developer.android.com/develop/xr/get-started#property_activity_xr_start_mode_property}

Protection level: dangerous

Constant Value: "android.permission.HEAD_TRACKING"

SCENE_UNDERSTANDING_COARSE

const val SCENE_UNDERSTANDING_COARSEString

Gets data derived by sensing the user's environment.

Protection level: dangerous

Constant Value: "android.permission.SCENE_UNDERSTANDING_COARSE"

SCENE_UNDERSTANDING_FINE

const val SCENE_UNDERSTANDING_FINEString

Gets highly precise data derived by sensing the user's environment, such as a depth map.

Protection level: dangerous

Constant Value: "android.permission.SCENE_UNDERSTANDING_FINE"

Top-level properties

CATEGORY_XR_PROJECTED_LAUNCHER

val CATEGORY_XR_PROJECTED_LAUNCHERString

Intent category for displaying the activity in a projected XR launcher.

Syntax:

<application>
<activity>

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.XR_PROJECTED_LAUNCHER" />
</intent-filter>
</activity>
</application>

Constant Value: "android.intent.category.XR_PROJECTED_LAUNCHER"

DISPLAY_CATEGORY_XR_PROJECTED

val DISPLAY_CATEGORY_XR_PROJECTEDString

Activity level ActivityInfo.requiredDisplayCategory to display on projected displays.

Syntax:

<application>
<activity

android:requiredDisplayCategory="android.hardware.display.category.XR_PROJECTED" />
</application>

Constant Value: "android.hardware.display.category.XR_PROJECTED"

FEATURE_XR_API_OPENXR

val FEATURE_XR_API_OPENXRString

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports OpenXR. The feature version indicates the highest version of OpenXR supported by the device using the following encoding:

  • Major version in bits 31-16

  • Minor version in bits 15-0

This is the same encoding as the top 32 bits of an XrVersion.

Example: OpenXR 1.1 support is encoded as 0x00010001.

Constant Value: "android.software.xr.api.openxr"

FEATURE_XR_API_SPATIAL

val FEATURE_XR_API_SPATIALString

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports the Android XR Spatial APIs. The feature version indicates the highest version of the Android XR Spatial APIs supported by the device.

Also see Develop with the Android XR SDK.

Constant Value: "android.software.xr.api.spatial"

FEATURE_XR_INPUT_CONTROLLER

val FEATURE_XR_INPUT_CONTROLLERString

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports XR input from XR controllers.

Constant Value: "android.hardware.xr.input.controller"

FEATURE_XR_INPUT_EYE_TRACKING

val FEATURE_XR_INPUT_EYE_TRACKINGString

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports XR input from the user's eye gaze.

Constant Value: "android.hardware.xr.input.eye_tracking"

FEATURE_XR_INPUT_HAND_TRACKING

val FEATURE_XR_INPUT_HAND_TRACKINGString

Feature for android.content.pm.PackageManager.getSystemAvailableFeatures and android.content.pm.PackageManager.hasSystemFeature: This device supports XR input from the user's hands.

Constant Value: "android.hardware.xr.input.hand_tracking"

PROPERTY_XR_ACTIVITY_START_MODE

val PROPERTY_XR_ACTIVITY_START_MODEString

Application or Activity level PackageManager.Property for launch mode in XR. Declaring at application level sets all activities unless overridden at activity level.

The default value is XR_ACTIVITY_START_MODE_UNDEFINED.

The available values are:

Syntax:

<application>
<property
android:name="android.window.PROPERTY_ACTIVITY_XR_START_MODE"
android:value="XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED|
XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED|
XR_ACTIVITY_START_MODE_HOME_SPACE|
XR_ACTIVITY_START_MODE_UNDEFINED"
/>
</application>

Constant Value: "android.window.PROPERTY_XR_ACTIVITY_START_MODE"

PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED

val PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDEDString

Application or Activity level PackageManager.Property for recommended safety boundaries. Declaring at application level sets all activities unless overridden at activity level. When not declared, the system uses the safety boundary currently in use.

The default value is XR_BOUNDARY_TYPE_NO_RECOMMENDATION.

The available values are:

Syntax:

<application>
<property
android:name="android.window.PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED"
android:value="XR_BOUNDARY_TYPE_LARGE|
XR_BOUNDARY_TYPE_NO_RECOMMENDATION"
/>
</application>

Constant Value: "android.window.PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED"

PROPERTY_XR_USES_CUSTOM_FULL_SPACE_MANAGED_ANIMATION

val PROPERTY_XR_USES_CUSTOM_FULL_SPACE_MANAGED_ANIMATIONString

Application or Activity level PackageManager.Property controlling default enter/exit animations. If true, the default animation is disabled, and the app plays a custom animation. Declaring at application level sets all activities unless overridden at activity level.

The default value is false.

Syntax:

<application>
<property
android:name="android.window.PROPERTY_XR_USES_CUSTOM_FULL_SPACE_MANAGED_ANIMATION"
android:value="false|true"/>
</application>

Constant Value: "android.window.PROPERTY_XR_USES_CUSTOM_FULL_SPACE_MANAGED_ANIMATION"

XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED

val XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGEDString

Value to launch an activity in managed full space mode. The system renders the activity from a scene graph. See managed full space mode.

See also
PROPERTY_XR_ACTIVITY_START_MODE

Constant Value: "XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED"

XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED

val XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGEDString

Value to launch an activity in unmanaged full space mode. The activity itself renders the space and controls its own scene graph. Use this for all activities using OpenXR to render.

See also
PROPERTY_XR_ACTIVITY_START_MODE

Constant Value: "XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED"

XR_ACTIVITY_START_MODE_HOME_SPACE

val XR_ACTIVITY_START_MODE_HOME_SPACEString

Value to launch an activity in home space mode in XR.

See also
PROPERTY_XR_ACTIVITY_START_MODE

Constant Value: "XR_ACTIVITY_START_MODE_HOME_SPACE"

XR_ACTIVITY_START_MODE_UNDEFINED

val XR_ACTIVITY_START_MODE_UNDEFINEDString

The default value if not specified. If used, the actual launching mode will be determined by the system based on the launching activity's current mode and the launching flags. When PROPERTY_XR_ACTIVITY_START_MODE is used at the application level, apps can use this value to reset at individual activity level.

See also
PROPERTY_XR_ACTIVITY_START_MODE

Constant Value: "XR_ACTIVITY_START_MODE_UNDEFINED"

XR_BOUNDARY_TYPE_LARGE

val XR_BOUNDARY_TYPE_LARGEString

Value to launch an activity with a large boundary recommended. Useful for activities where users are expected to move around. The system will ask the user to use a larger size for their safety boundary and check that their space is clear, if the larger size is not already in use. This larger size is determined by the system.

See also
PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED

Constant Value: "XR_BOUNDARY_TYPE_LARGE"

XR_BOUNDARY_TYPE_NO_RECOMMENDATION

val XR_BOUNDARY_TYPE_NO_RECOMMENDATIONString

Value to launch an activity with no recommendations for the type of safety boundary. The system continues to use the type of safety boundary currently in use.

See also
PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED

Constant Value: "XR_BOUNDARY_TYPE_NO_RECOMMENDATION"

val XR_TRACKINGString

Group for permissions accessing user and environment XR tracking data.

Constant Value: "android.permission-group.XR_TRACKING"

XR_TRACKING_SENSITIVE

val XR_TRACKING_SENSITIVEString

Used for permissions that are associated with accessing particularly sensitive XR tracking data.

Constant Value: "android.permission-group.XR_TRACKING_SENSITIVE"