Packages
mob_new
0.4.16
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.45
0.1.44
0.1.43
0.1.42
0.1.40
0.1.33
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Project generator for the Mob mobile framework
Current section
Files
Jump to
Current section
Files
priv/templates/mob.new/android/app/src/main/AndroidManifest.xml.eex
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="<%= bundle_id %>">
<!-- Network -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Microphone (audio recording). CAMERA + the camera uses-features are
declared by the mob_camera plugin's manifest and merged at build. -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- USB host (Mob.Peripheral.VendorUsb). required=false so the Play Store
doesn't filter the app off devices without USB host support; apps
degrade via Mob.Peripheral.capabilities/0. No uses-permission needed —
per-device access is gated by the runtime ACTION_USB_PERMISSION dialog. -->
<uses-feature android:name="android.hardware.usb.host" android:required="false" />
<!-- Media-library read permissions moved to the mob_photos plugin manifest
(READ_MEDIA_IMAGES / READ_MEDIA_VIDEO / READ_EXTERNAL_STORAGE). NOTE the
plugin's plain-string permission list can't express maxSdkVersion="32"
on the legacy one — harmless (no-op on API 33+). -->
<!-- POST_NOTIFICATIONS moved to the mob_notify plugin manifest. -->
<!-- AlarmManager for scheduled local notifications -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
android:minSdkVersion="31" />
<!-- Haptic feedback -->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- Package visibility (API 30+): apps we want to launch via Mob.Device.open_url. -->
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="mailto" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
</queries>
<application
android:label="<%= display_name %>"
android:icon="@mipmap/ic_launcher"
android:allowBackup="false"
android:extractNativeLibs="true"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/AppTheme">
<!-- Main activity -->
<activity android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize"
android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden|navigation|uiMode|fontScale|density">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- The QR-scanner <activity> moved to the mob_scanner plugin
(io.mob.scanner.MobScannerActivity; see its host_requirements). -->
<!-- Scheduled local notification delivery -->
<receiver android:name=".NotificationReceiver"
android:exported="false" />
<!-- FileProvider for camera temp files (photo / video capture) -->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_paths" />
</provider>
</application>
</manifest>