如何将GCM消息仅发送到正确的Android应用程序?在Android应用程序中声明广播接收器和服务应该怎么办?
答案 0 :(得分:4)
来自GCM文档:
在设备上,系统通过具有适当权限的Intent广播将消息广播到指定的Android应用程序,以便只有目标Android应用程序才能获取消息。这会唤醒Android应用程序。 Android应用程序不需要事先运行即可接收消息。
确保这一点的权限是:
applicationPackage +“。permission.C2D_MESSAGE”权限,以防止其他Android应用程序注册和接收Android应用程序的消息。权限名称必须与此模式完全匹配 - 否则Android应用程序将不会收到消息。
此外,广播接收器的声明确保只有GCM框架可以向其发送消息:
com.google.android.c2dm.intent.RECEIVE的接收器,类别设置为applicationPackage。接收方应该要求com.google.android.c2dm.SEND权限,以便只有GCM框架可以向其发送消息。请注意,消息的接收是作为意图实现的。