Skip to content

Android Manifest components

Olga Koroleva edited this page Jun 28, 2022 · 4 revisions

All required components are included into library manifest and manifest merger shall put all the components to the hosting application automatically. Manifest merger is enabled by default for android projects, but it can be disabled manually. Below is the list of manifest components needed for Mobile Messaging library. These components shall be put into application manifest if manifest merger was disabled.

Push notifications

<manifest>

    <!-- Existing manifest entries -->
 
    <!-- Mobile Messaging permissions -->
    
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
    <permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" />
 
    <!-- Needed for push notifications that contain VIBRATE flag. Optional, but recommended. -->
    <uses-permission android:name="android.permission.VIBRATE" />
    
    <!-- /Mobile Messaging permissions -->
    
  
    <application>
    
        <!-- Existing application entries -->
 
        <!-- Mobile Messaging components -->
        
        <service
            android:name="org.infobip.mobile.messaging.cloud.hms.MobileMessagingHmsService"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.huawei.push.action.MESSAGING_EVENT" />
            </intent-filter>
        </service>

        <service
            android:name="org.infobip.mobile.messaging.cloud.MobileMessagingCloudService"
            android:permission="android.permission.BIND_JOB_SERVICE"
            android:exported="false" >
        </service>

        <service
            android:name="org.infobip.mobile.messaging.platform.MobileMessagingJobService"
            android:enabled="false"
            android:exported="false"
            android:permission="android.permission.BIND_JOB_SERVICE" />

       <activity
            android:name="org.infobip.mobile.messaging.NotificationTapReceiverActivity"
            android:excludeFromRecents="true"
            android:exported="true"
            android:noHistory="true"
            android:taskAffinity=""
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <receiver
            android:name="org.infobip.mobile.messaging.MobileMessagingConnectivityReceiver"
            android:enabled="false"
            android:exported="false">
            <intent-filter>
                <!-- Intent filter is for pre-7.0 Nougat devices -->
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>
        
       <receiver
            android:name="org.infobip.mobile.messaging.interactive.notification.NotificationActionTapReceiver"
            android:exported="false" />

        <!-- /Mobile Messaging components -->
     
    </application>
</manifest>