嗨,我知道这个问题已被多次询问,但我的要求有点不同所以请耐心等待。
我在Android应用程序中使用了两个不同的库。一个用于解析推送通知,其具有以下声明:
<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>
并且其他接收者的声明是:
<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>
我绝对需要我的应用程序中的两个库,因此删除一个不是一个选项。我将两个接收器用于不同的目的。但是,当我宣布两个接收器都存在冲突并且我无法接收任何推送通知时。
有人能指出我正确的方向吗?
P.S两个库都是jar文件,我无法控制两者的接收器。所以转发不是一种选择。
任何帮助将不胜感激。谢谢
答案 0 :(得分:1)
如果广播接收器彼此冲突,您可以尝试在[{1}}中的priority
AndroidManifest.xml
仅当您确实需要强制接收广播的特定订单,或者希望强制Android更喜欢某个活动而不是其他活动时,才使用此属性。
该值必须为<intent-filter>
,例如“100”。 integer
默认值为0.该值必须大于-1000且小于1000。
示例代码:
Higher numbers have a higher priority.
另外,另一种解决方法,请参阅here。