React native
Example
Complete AndroidManifest.xml Example
Here's a complete example of a properly configured AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Queries for Android 11+ package visibility -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
<!-- Use the package name that matches your environment -->
<package android:name="com.neurogine.softpos.stage" />
</queries>
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme"
android:supportsRtl="true">
<!-- SoftPOS Package Configuration -->
<!-- This value is read dynamically by the N2app module -->
<meta-data
android:name="softposName"
android:value="com.neurogine.softpos.stage" />
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>Key Points:
-
Queries Section (Outside <application>, inside <manifest>)
- Required for Android 11+ to detect other apps
- Must match the SoftPOS package name
-
Meta-Data (Inside <application>)
- Read dynamically by N2app module at Runtime
- Allows switching between environments without code changes
-
Package Name Consistency
- Use the same package name in both <queries> and <meta-data>
- Must match the actual installed SoftPOS app