android - GCM 广播接收器

标签 android android-intent google-cloud-messaging pubnub

所以我一直在使用 Pubnub 和 GCM。尽管这个问题比 Pubnub 更具体于 GCM/Android。我有 2 个应用程序 - 一个是我自己的,另一个是 pubnub 的示例。

Pubnub list 的接收者标签:

<receiver
    android:name="com.pubnub.pubnubexample.GcmBroadcastReceiver"
    android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <category android:name="com.example.gcm" />
    </intent-filter>
</receiver>

我的应用程序的接收者标签:

<receiver
    android:name="com.myapp.app.MyReceiver"
    android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <category android:name="com.example.gcm" />
    </intent-filter>
</receiver>

显然,pubnub 示例应用程序的广播接收器确实被调用,但不是我的那个。他们都有这些uses-permission:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

事实上我有更多。

当通过它发送通知时,我自己的应用程序的接收器没有被 GCM 调用,我可能做错了什么?我的期望是,因为它是广播,所以具有类似接收器的多个应用程序会收到它们?

注意:这在我的工作中并不是真正的要求,而是测试并试图理解这个概念是如何工作的。

最佳答案

我看到的一个问题是您的 AndroidManifest 文件中的类别标签必须更新为您的包名称。

<category android:name="com.myapp.app." />

关于android - GCM 广播接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27316455/

相关文章:

java - 第一个按钮仅在重新打开应用程序后才着色

android - ShareActionProvider 在 android 中没有任何操作栏

android - 如何让我的 Android 应用出现在另一个特定应用的共享列表中

android - 将参数传递给 GcmTaskService

java - 点击推送消息后访问推送通知内容(Android)

android - Xtify - 不接收推送通知 - Android

android - 在xml中的单个TextView中添加两个R.id

android - 在 Android : how to use gluUnProject? 上打开 GL ES

android - ListView 上的 setEmptyView 未在 android 应用程序中显示其 View ?

android - 应该开始的时候 Activity 停止了