我正在使用Android Hive Tutorial。它之前工作正常,但现在它不起作用。
当我注册我的设备时,它会被注册,我可以在我的网页上看到已注册的设备,但是当我发送消息时,我无法在设备上接收它。以下是我在注册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: com.google.android.gcm.GCMBroadcastReceiver@40ff0d88
答案 0 :(得分:9)
您可能正在使用旧版gcm.jar
文件。确保您使用的是最新版本的gcm.jar
文件。您可以获取有关各种GCM版本更改的发行说明HERE。
此外,为了解决此问题,您还可以查看Here以获取各种版本的GCMBrodcaseReceiver
课程的比较。
您可以从Here获取最新版本的gcm.jar
文件。
希望它会有所帮助。
答案 1 :(得分:0)
您是否注册了广播接收者?
<!-- 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>