1

GCM 消息如何仅发送到正确的 Android 应用程序?Android应用中广播接收器和服务的声明应该怎么做?

4

1 回答 1

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 框架才能向它发送消息。请注意,消息的接收是作为意图实现的。

于 2013-07-15T12:26:56.197 回答