AndroidManifest.xml.in 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <?xml version="1.0"?>
  2. <manifest package="ch.opengis.@APP_PACKAGE_NAME@" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="@APP_VERSION_STR@" android:versionCode="@APK_VERSION_CODE@" android:installLocation="auto">
  3. <application
  4. android:hardwareAccelerated="true"
  5. android:name="org.qtproject.qt5.android.bindings.QtApplication"
  6. android:label="@string/app_name"
  7. android:icon="@drawable/qfield_logo"
  8. android:usesCleartextTraffic="true"
  9. android:requestLegacyExternalStorage="true" >
  10. <activity
  11. android:name="ch.opengis.@APP_PACKAGE_NAME@.QFieldActivity"
  12. android:icon="@drawable/qfield_logo"
  13. android:label="@string/app_name"
  14. android:launchMode="singleTop"
  15. android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation">
  16. <intent-filter>
  17. <action android:name="android.intent.action.MAIN"/>
  18. <category android:name="android.intent.category.LAUNCHER"/>
  19. </intent-filter>
  20. <intent-filter>
  21. <action android:name="android.intent.action.VIEW" />
  22. <category android:name="android.intent.category.DEFAULT" />
  23. <category android:name="android.intent.category.BROWSABLE"/>
  24. <data android:scheme="file" />
  25. <data android:scheme="content" />
  26. <data android:host="*" />
  27. <data android:mimeType="*/*" />
  28. <data android:pathPattern=".*\\.qgs" />
  29. <data android:pathPattern=".*\\..*\\.qgs" />
  30. <data android:pathPattern=".*\\..*\\..*\\.qgs" />
  31. <data android:pathPattern=".*\\..*\\..*\\..*\\.qgs" />
  32. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.qgs" />
  33. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.qgs" />
  34. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.qgs" />
  35. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.qgs" />
  36. <data android:pathPattern=".*\\.qgz" />
  37. <data android:pathPattern=".*\\..*\\.qgz" />
  38. <data android:pathPattern=".*\\..*\\..*\\.qgz" />
  39. <data android:pathPattern=".*\\..*\\..*\\..*\\.qgz" />
  40. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.qgz" />
  41. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.qgz" />
  42. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.qgz" />
  43. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.qgz" />
  44. <data android:pathPattern=".*\\.gpkg" />
  45. <data android:pathPattern=".*\\..*\\.gpkg" />
  46. <data android:pathPattern=".*\\..*\\..*\\.gpkg" />
  47. <data android:pathPattern=".*\\..*\\..*\\..*\\.gpkg" />
  48. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.gpkg" />
  49. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.gpkg" />
  50. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpkg" />
  51. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpkg" />
  52. <data android:pathPattern=".*\\.shp" />
  53. <data android:pathPattern=".*\\..*\\.shp" />
  54. <data android:pathPattern=".*\\..*\\..*\\.shp" />
  55. <data android:pathPattern=".*\\..*\\..*\\..*\\.shp" />
  56. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.shp" />
  57. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.shp" />
  58. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.shp" />
  59. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.shp" />
  60. <data android:pathPattern=".*\\.kml" />
  61. <data android:pathPattern=".*\\..*\\.kml" />
  62. <data android:pathPattern=".*\\..*\\..*\\.kml" />
  63. <data android:pathPattern=".*\\..*\\..*\\..*\\.kml" />
  64. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.kml" />
  65. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.kml" />
  66. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.kml" />
  67. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.kml" />
  68. <data android:pathPattern=".*\\.kmz" />
  69. <data android:pathPattern=".*\\..*\\.kmz" />
  70. <data android:pathPattern=".*\\..*\\..*\\.kmz" />
  71. <data android:pathPattern=".*\\..*\\..*\\..*\\.kmz" />
  72. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.kmz" />
  73. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.kmz" />
  74. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.kmz" />
  75. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.kmz" />
  76. <data android:pathPattern=".*\\.geojson" />
  77. <data android:pathPattern=".*\\..*\\.geojson" />
  78. <data android:pathPattern=".*\\..*\\..*\\.geojson" />
  79. <data android:pathPattern=".*\\..*\\..*\\..*\\.geojson" />
  80. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.geojson" />
  81. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.geojson" />
  82. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.geojson" />
  83. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.geojson" />
  84. <data android:pathPattern=".*\\.json" />
  85. <data android:pathPattern=".*\\..*\\.json" />
  86. <data android:pathPattern=".*\\..*\\..*\\.json" />
  87. <data android:pathPattern=".*\\..*\\..*\\..*\\.json" />
  88. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.json" />
  89. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.json" />
  90. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.json" />
  91. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.json" />
  92. <data android:pathPattern=".*\\.pdf" />
  93. <data android:pathPattern=".*\\..*\\.pdf" />
  94. <data android:pathPattern=".*\\..*\\..*\\.pdf" />
  95. <data android:pathPattern=".*\\..*\\..*\\..*\\.pdf" />
  96. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.pdf" />
  97. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.pdf" />
  98. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.pdf" />
  99. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pdf" />
  100. <data android:pathPattern=".*\\.tif" />
  101. <data android:pathPattern=".*\\..*\\.tif" />
  102. <data android:pathPattern=".*\\..*\\..*\\.tif" />
  103. <data android:pathPattern=".*\\..*\\..*\\..*\\.tif" />
  104. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.tif" />
  105. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.tif" />
  106. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.tif" />
  107. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.tif" />
  108. <data android:pathPattern=".*\\.jp2" />
  109. <data android:pathPattern=".*\\..*\\.jp2" />
  110. <data android:pathPattern=".*\\..*\\..*\\.jp2" />
  111. <data android:pathPattern=".*\\..*\\..*\\..*\\.jp2" />
  112. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.jp2" />
  113. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.jp2" />
  114. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.jp2" />
  115. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.jp2" />
  116. <data android:pathPattern=".*\\.gpx" />
  117. <data android:pathPattern=".*\\..*\\.gpx" />
  118. <data android:pathPattern=".*\\..*\\..*\\.gpx" />
  119. <data android:pathPattern=".*\\..*\\..*\\..*\\.gpx" />
  120. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.gpx" />
  121. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.gpx" />
  122. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpx" />
  123. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpx" />
  124. <data android:pathPattern=".*\\.zip" />
  125. <data android:pathPattern=".*\\..*\\.zip" />
  126. <data android:pathPattern=".*\\..*\\..*\\.zip" />
  127. <data android:pathPattern=".*\\..*\\..*\\..*\\.zip" />
  128. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.zip" />
  129. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.zip" />
  130. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.zip" />
  131. <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.zip" />
  132. </intent-filter>
  133. <!-- Git Revision -->
  134. <meta-data android:name="android.app.git_rev" android:value="@string/git_rev"/>
  135. <!-- Git Revision -->
  136. <meta-data android:name="android.app.lib_name" android:value="@string/lib_name"/>
  137. <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
  138. <meta-data android:name="android.app.repository" android:value="default"/>
  139. <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
  140. <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
  141. <!-- Deploy Qt libs as part of package -->
  142. <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
  143. <!-- Run with local libs -->
  144. <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
  145. <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
  146. <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
  147. <meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
  148. <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
  149. <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
  150. <!-- Messages maps -->
  151. <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
  152. <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
  153. <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
  154. <!-- Messages maps -->
  155. <!-- Splash screen -->
  156. <meta-data android:name="android.app.splash_screen" android:resource="@layout/splash"/>
  157. <!-- Splash screen -->
  158. <!-- Background running -->
  159. <!-- Warning: changing this value to true may cause unexpected crashes if the
  160. application still try to draw after
  161. "applicationStateChanged(Qt::ApplicationSuspended)"
  162. signal is sent! -->
  163. <meta-data android:name="android.app.background_running" android:value="false"/>
  164. <!-- Background running -->
  165. </activity>
  166. <!-- Activity to choose a .qgs file to open -->
  167. <activity android:name="ch.opengis.@APP_PACKAGE_NAME@.QFieldProjectActivity" />
  168. <!-- Activity "Rate this app" -->
  169. <activity android:name="ch.opengis.@APP_PACKAGE_NAME@.QFieldAppRaterActivity" />
  170. <!-- Activity to get picture with the native camera -->
  171. <activity android:name="ch.opengis.@APP_PACKAGE_NAME@.QFieldCameraPictureActivity" android:configChanges="orientation|screenSize|screenLayout|keyboardHidden" />
  172. <!-- Activity to get picture from the gallery -->
  173. <activity android:name="ch.opengis.@APP_PACKAGE_NAME@.QFieldGalleryPictureActivity" android:configChanges="orientation|screenSize|screenLayout|keyboardHidden" />
  174. <!-- Activity to open file externally -->
  175. <activity android:name="ch.opengis.@APP_PACKAGE_NAME@.QFieldOpenExternallyActivity" />
  176. <provider
  177. android:name="android.support.v4.content.FileProvider"
  178. android:authorities="ch.opengis.@APP_PACKAGE_NAME@.fileprovider"
  179. android:exported="false"
  180. android:grantUriPermissions="true">
  181. <meta-data
  182. android:name="android.support.FILE_PROVIDER_PATHS"
  183. android:resource="@xml/file_paths">
  184. </meta-data>
  185. </provider>
  186. </application>
  187. <uses-sdk android:minSdkVersion="@ANDROID_PLATFORM@" android:targetSdkVersion="@ANDROID_TARGET_PLATFORM@" />
  188. <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
  189. <!-- The permissions are specified manually. This way we do not request the microphone permissions which would be pulled in
  190. as dependent permissions because of qt multimedia. -->
  191. <uses-permission android:name="android.permission.INTERNET" />
  192. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  193. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  194. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  195. <uses-permission android:name="android.permission.CAMERA" />
  196. <uses-permission android:name="android.permission.WAKE_LOCK" />
  197. <uses-permission android:name="android.permission.BLUETOOTH" />
  198. <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
  199. <uses-feature android:required="false" android:name="android.hardware.camera" />
  200. <uses-feature android:required="false" android:name="android.hardware.camera.autofocus" />
  201. <uses-feature android:required="false" android:name="android.hardware.location.gps" />
  202. <uses-feature android:required="false" android:name="android.hardware.microphone" />
  203. <uses-feature android:required="false" android:name="android.hardware.bluetooth" />
  204. </manifest>