AndroidManifest.xr.xml.cmake 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. package="@ANDROID_MANIFEST_PACKAGE@"
  5. android:versionCode="1"
  6. android:versionName="1.0"
  7. android:installLocation="auto">
  8. <!-- OpenGL ES 3.2 for Vulkan fallback on XR devices -->
  9. <uses-feature android:glEsVersion="0x00030002" android:required="true" />
  10. <!-- Vulkan requirements -->
  11. <uses-feature android:name="android.hardware.vulkan.level" android:required="true" android:version="1" />
  12. <uses-feature android:name="android.hardware.vulkan.version" android:required="true" android:version="0x00401000" />
  13. <!-- VR Head Tracking (standard OpenXR requirement) -->
  14. <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
  15. <!-- Touchscreen not required for VR -->
  16. <uses-feature
  17. android:name="android.hardware.touchscreen"
  18. android:required="false" />
  19. @ANDROID_XR_META_FEATURES@
  20. <!-- Game controller support -->
  21. <uses-feature
  22. android:name="android.hardware.bluetooth"
  23. android:required="false" />
  24. <uses-feature
  25. android:name="android.hardware.gamepad"
  26. android:required="false" />
  27. <uses-feature
  28. android:name="android.hardware.usb.host"
  29. android:required="false" />
  30. <!-- Allow access to the vibrator (for controller haptics) -->
  31. <uses-permission android:name="android.permission.VIBRATE" />
  32. <!-- OpenXR permissions (for runtime broker communication) -->
  33. <uses-permission android:name="org.khronos.openxr.permission.OPENXR" />
  34. <uses-permission android:name="org.khronos.openxr.permission.OPENXR_SYSTEM" />
  35. <!-- OpenXR runtime/layer queries -->
  36. <queries>
  37. <provider android:authorities="org.khronos.openxr.runtime_broker;org.khronos.openxr.system_runtime_broker" />
  38. <intent>
  39. <action android:name="org.khronos.openxr.OpenXRRuntimeService" />
  40. </intent>
  41. <intent>
  42. <action android:name="org.khronos.openxr.OpenXRApiLayerService" />
  43. </intent>
  44. </queries>
  45. <application
  46. android:allowBackup="true"
  47. android:icon="@mipmap/sdl-test"
  48. android:roundIcon="@mipmap/sdl-test_round"
  49. android:label="@string/label"
  50. android:supportsRtl="true"
  51. android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
  52. android:enableOnBackInvokedCallback="false"
  53. android:hardwareAccelerated="true">
  54. @ANDROID_XR_META_METADATA@
  55. <activity
  56. android:name="@[email protected]"
  57. android:exported="true"
  58. android:label="@string/label"
  59. android:alwaysRetainTaskState="true"
  60. android:launchMode="singleTask"
  61. android:configChanges="density|keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|uiMode"
  62. android:screenOrientation="landscape"
  63. android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
  64. android:excludeFromRecents="false"
  65. android:resizeableActivity="false"
  66. tools:ignore="NonResizeableActivity">
  67. <!-- Standard launcher intent -->
  68. <intent-filter>
  69. <action android:name="android.intent.action.MAIN" />
  70. <category android:name="android.intent.category.LAUNCHER" />
  71. @ANDROID_XR_META_INTENT_CATEGORY@
  72. <!-- Khronos OpenXR category (for broader compatibility) -->
  73. <category android:name="org.khronos.openxr.intent.category.IMMERSIVE_HMD" />
  74. </intent-filter>
  75. </activity>
  76. <activity
  77. android:name="@[email protected]"
  78. android:exported="false"
  79. android:label="@string/label">
  80. </activity>
  81. </application>
  82. </manifest>