【发布时间】:2012-04-02 04:07:17
【问题描述】:
我必须为 Android 设备(2.2 及更高版本)构建一个应用程序,除其他外,它还必须实现推送通知。我知道 Google 提供 C2DM 服务来处理这些类型的消息。我还阅读了 tutorial 关于 C2DM 以及如何实现这一点。
我的问题是,根据我的应用程序要求,通知不能显示给所有注册的设备,而只能显示在特定 lat//lng 点的特定范围内的特定设备。
例如
仅在当前位于 lat: 40.22 和 lng: 22.1 范围内的设备上显示推送通知 10公里
所以,我的想法是发送通知以及 lat/lng 点和特定范围。然后,应用程序将检查其当前位置是否在所需范围内。如果是这样,通知将在用户屏幕上弹出,否则它将消失。
- 你怎么看?这是一个好的解决方案,还是您能提出更好的建议?
- 此外,如果我保留此解决方案,我如何访问用户在广播接收器中的位置(谁接受来自 C2DM 服务的推送通知)?
【问题讨论】:
-
这似乎是一个好方法。而且您可能希望广播接收器触发能够获取位置的服务启动。
-
@Tim 如何触发服务?你能提供一段示例代码吗?谢谢!
-
看看这个类似的问题:stackoverflow.com/questions/12081964
标签: android geolocation broadcastreceiver push-notification android-location