您好我想在Android设备上使用推送通知并获取设备位置以获取更多信息 我想为android编写应用程序,当服务器想要获取android设备位置及时向设备发送通知时,设备上的应用程序及时将设备位置发送到服务器。 我无法使用云设备消息服务,因为该服务需要该用户首先在线并且在用户在线后通过C2DM服务发送服务器通知!。但是我想在设备上发送通知并在服务器需要的任何时间获取设备位置。
答案 0 :(得分:0)
要使任何类型的推送通知成为可能,您的客户将需要联机。离线客户端无法接受推送通知,直到它处于联机状态。
服务器可以启动C2DM推送。客户无需启动它。服务器只需要向C2DM服务器发送消息并发送通知。
您基本上需要做的是,在收到来自C2DM服务器的通知后,让您的C2DM基础接收器调用一个函数,该函数使用LocationManager
检索客户端位置数据并将其发送到服务器。
编辑MQTT:
我自己并没有这么做,但它可以用于推送服务
你需要:
运行在服务器端的MQTT代理,就像开源的mosquitto代理一样。
您在Android应用中包含的MQTT客户端库,使您的应用能够连接,订阅和发布消息。请参阅此http://mqtt.org/software
提出一种唯一标识用户或设备的方法,然后将其用作主题,以便您可以将消息单独发布到一个设备。