我在我的应用程序上使用GCM,但是当我尝试注册我的设备时,未调用GCMIntentService上的onRegistered方法。在GCM上注册设备:onRegistered不叫
我安装了GCM演示应用程序我的设备上,它的工作原理:
http://developer.android.com/guide/google/gcm/demo.html
在此应用程序的设备注册,我可以将消息发送给它。我试图在我自己的应用程序中使用GCMIntentService来使用GCM。我适应清单也一样,但是当我尝试注册这是出现在我的日志:
十月9日至25日:00:10.195:V/GCMRegistrar(591):注册发件人38322290XXXXX的应用com.pfc.dps
而没有别的,我没有得到任何回应。这是我的清单权限:
<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" />
我创建了谷歌API控制台一个新的项目,以检查它是否工作这种方式,但我得到使用任何发件人ID的相同的结果。
有人知道这是为什么吗?
谢谢!
您是否将GCMIntentService保存在具有正确类别的根应用程序包中? – Yahor10
其实它在包com.pfc.dps.gcm中。我需要改变什么? C2D_MESSAGE权限?或者我必须将GCMIntentService移动到根包? –
您必须在包中标记您的应用程序中的GCMIntentService.class - > com.pfc.dps – Yahor10