user2893564
user2893564

Reputation:

GCM receiver with Parse

Hi I know this question has been asked multiple times but my requirement is a little different so pls bear with me.

I use two different libraries in my android application. One is for parse push notification which has the following declarations:

<receiver
            android:name="com.parse.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
                <category android:name="com.airloyal.ladooo" />
            </intent-filter>
        </receiver>

and the declaration for the other receiver is:

<receiver
            android:name="com.google.android.gcm.GCMBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
                <category android:name="com.airloyal.ladooo" />
            </intent-filter>
        </receiver>

I definitely need both the libraries in my app so removing one is not an option. I use both the receivers for different purposes. But when I declare both the receivers there is a conflict and I am not able to receive any push notifications.

Can someone pls point me in the right direction?

P.S Both the libraries are jar files and I do not have control over the receivers of both. So forwarding is not an option.

Any help would be appreciated. Thanks

Upvotes: 0

Views: 397

Answers (1)

bjiang
bjiang

Reputation: 6078

If the broadcast receivers are conflict with each other, you may try to set the priority of your receiver in the AndroidManifest.xml in <intent-filter>

Use this attribute only if you really need to impose a specific order in which the broadcasts are received, or want to force Android to prefer one activity over others.

The value must be an integer, such as "100". Higher numbers have a higher priority. The default value is 0. The value must be greater than -1000 and less than 1000.

sample code:

<intent-filter android:icon="drawable resource"
               android:label="string resource"
               android:priority="integer" >
    . . .
</intent-filter>

Also, another way to solve, please refer to here.

Upvotes: 1

Related Questions