我在我的应用程序上使用 GCM,但是当我尝试注册我的设备时,不会调用 GCMIntentService 上的 onRegistered 方法。
我在我的设备上安装了 GCM 演示应用程序,它可以工作:
http://developer.android.com/guide/google/gcm/demo.html
在这个应用程序中,设备已注册,我可以向它发送消息。我尝试使用相同的 GCMIntentService 在我自己的应用程序中使用 GCM。我也调整了清单,但是当我尝试注册时,这就是我的日志中出现的内容:
09-25 10:00:10.195: V/GCMRegistrar(591): 注册应用程序 com.pfc.dps 的发件人 38322290XXXXX
没有别的,我没有得到任何回应。这些是我的清单权限:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pfc.dps"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Creates a custom permission so only this app can receive its messages. -->
<permission
android:name="com.pfc.dps.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission
android:name="com.pfc.dps.permission.C2D_MESSAGE" />
<!-- This app has permission to register and receive data message. -->
<uses-permission
android:name="com.google.android.c2dm.permission.RECEIVE" />
我在 Google API 控制台中创建了一个新项目以检查它是否以这种方式工作,但使用任何发件人 ID 都会得到相同的结果。
有谁知道这是为什么?
谢谢!