2013-03-05 120 views
2

我正在使用Android Hive Tutorial。它之前工作正常,但现在不起作用。无法收到来自GCM的通知

当我注册我的设备时,它会被注册,我可以在我的网页上看到注册的设备,但是当我发送消息时,我无法在设备上收到它。以下是我注册时收到的一些消息:GCM

03-05 12:18:09.200: E/GCMRegistrar(1008): internal error: retry receiver class not set yet 
03-05 12:18:09.500: E/URL(1008): > http://10.0.2.2/gcm_server_php/register.php 
03-05 12:18:09.960: D/dalvikvm(1008): GC_CONCURRENT freed 248K, 11% free 5975K/6663K, paused 14ms+7ms 
03-05 12:18:15.040: V/GCMRegistrar(1008): Setting registeredOnServer status as true until 2013-03-12 12:18:15.041 
03-05 12:18:15.160: V/GCMBaseIntentService(1008): Releasing wakelock 
03-05 12:23:03.830: V/GCMRegistrar(1008): Unregistering receiver 
03-05 12:23:03.830: E/UnRegister Receiver Error(1008): > Receiver not registered: [email protected] 
+0

您确定您的RegId已注册到您的服务器? – 2013-03-05 07:39:33

+1

你可以在这里发布你的GCM android代码吗? – 2013-03-05 07:54:20

+0

@Bhavesh是我的REGID已注册。 – Zohaib 2013-03-05 08:07:23

回答

9

你可能会使用gcm.jar文件的旧版本。确保您使用的是最新版本的gcm.jar文件。您可以获取有关各种版本GCM更改的发行说明HERE

此外,为解决此问题,您还可以查看Here以获取关于GCMBrodcaseReceiver类的各种版本的比较。

您可以从Here获得最新版本的gcm.jar文件。

希望它会帮助。

+0

我有同样的问题,我有2个项目,在第一个项目不工作,在第二个是...我不明白,不是问题的“jar “ – delive 2015-10-27 22:10:08

0

您是否注册了broadcastreceiver?

  <!-- Receives the actual messages. --> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <!-- Receives the registration id. --> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

      <category android:name="com.androidhive.pushnotifications" /> 
     </intent-filter> 
    </receiver> 
+0

是的,我已经注册了broadcastreceiver,但也没有工作 – Zohaib 2013-03-05 08:09:26