Android 未在设备上接收GCM
我正在尝试设置一个谷歌应用引擎服务器端点,向android设备发送谷歌云消息。到目前为止,该设备使用GoogleCloudMessaging.register()进行注册,并将生成的regID发送到服务器。然后,服务器可以向其保存的regid发送消息。通过日志消息,我可以看到regid都正确到达,服务器也正确发送消息。不过,这些设备没有收到任何消息 这是清单中的接收人:Android 未在设备上接收GCM,android,google-cloud-messaging,Android,Google Cloud Messaging,我正在尝试设置一个谷歌应用引擎服务器端点,向android设备发送谷歌云消息。到目前为止,该设备使用GoogleCloudMessaging.register()进行注册,并将生成的regID发送到服务器。然后,服务器可以向其保存的regid发送消息。通过日志消息,我可以看到regid都正确到达,服务器也正确发送消息。不过,这些设备没有收到任何消息 这是清单中的接收人: <receiver android:name="---.app.MessageReceiver"
<receiver
android:name="---.app.MessageReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.permission.RECEIVE" />
<category android:name="---.app" />
</intent-filter>
</receiver>
}
服务从未启动,此处的日志消息从未显示
有什么我遗漏的吗
编辑-以下是权限:
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="---.app.permission.C2D_MESSAGE" />
<permission
android:name="---.app.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
SO上有一个有效的解决方案 作者编辑了他的文章,所以你应该把它作为一个例子。基本上,如果没有正确的权限设置和使用正确的广播构造函数,android不会对发送到应用程序的消息给予任何关注 请相应地设置您的权限和其他内容,然后重试
后来有一篇很好的评论,远远低于被接受的评论。真是愚蠢的错误。在intent筛选器中,不是.intent.RECIEVE,而是.permission.RECEIVE。您添加了com.google.android.c2dm.permission.RECEIVE权限吗?是的,我想所有权限都设置正确了。您能在这里发布吗?第二个问题,你有你的.package.permission.C2D_消息集吗?我在帖子中添加了权限。谢谢你的帮助!我和他一样设置了权限,但运气不好。该示例使用了不推荐使用的GCMRegistar,而不是新的GoogleCloudMessaging。
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="---.app.permission.C2D_MESSAGE" />
<permission
android:name="---.app.permission.C2D_MESSAGE"
android:protectionLevel="signature" />