android中的两个gcm接收机

android中的两个gcm接收机,android,push-notification,parse-platform,google-cloud-messaging,intentfilter,Android,Push Notification,Parse Platform,Google Cloud Messaging,Intentfilter,我有两个广播接收器和两个推送服务,我已经在清单文件中注册了这两个接收器 接收器1 接收器2 如果我评论一个接收者并运行我的应用程序,我会正确地得到推送通知 问题是当两个接收者都有清单时,我没有收到推送通知。我通过动态启用和禁用接收者解决了这个问题 用这个 添加两个接收器的目的是什么?我有两个应用服务器,它们发送两种不同类型的推送数据,那么为什么不添加检查接收器?两个接收器不能工作。如何区分推送是否来自特定的应用程序服务器?在包含服务器类型值的json数据中添加一个键。解析时,您的任务是否

我有两个广播接收器和两个推送服务,我已经在清单文件中注册了这两个接收器

接收器1


接收器2


如果我评论一个接收者并运行我的应用程序,我会正确地得到推送通知


问题是当两个接收者都有清单时,我没有收到推送通知。

我通过动态启用和禁用接收者解决了这个问题

用这个


添加两个接收器的目的是什么?我有两个应用服务器,它们发送两种不同类型的推送数据,那么为什么不添加检查接收器?两个接收器不能工作。如何区分推送是否来自特定的应用程序服务器?在包含服务器类型值的json数据中添加一个键。解析时,您的任务是否依赖于该值。您在哪里编写了这些代码示例?它是在主应用程序还是主活动中?您可以在活动或应用程序中的任何位置使用此代码。它只需要一个上下文对象
    <receiver
        android:name="com.esri.android.geotrigger.MessageReceiver"
        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.esri.android.geotrigger" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.PACKAGE_REPLACED" />
            <data
                android:path="com.brillio.beaconservice"
                android:scheme="package" />
        </intent-filter>
    </receiver>
    <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.brillio.beaconservice" />
        </intent-filter>
    </receiver> 
ComponentName receiver = new ComponentName(context, myReceiver.class);
PackageManager pm = context.getPackageManager();
pm.setComponentEnabledSetting(receiver,
    PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
    PackageManager.DONT_KILL_APP);