whatsapp如何立即收到消息?

时间:2018-08-22 15:22:30

标签: java android

我正在尝试在我的App与服务器端之间进行通信。该应用需要从服务器接收消息,因为它是远程控制的。它充当后台服务。

我目前正在使用HTTPPost从外部MySQL获取消息,每20秒进行一次请购,但是这会花费很多电量。

我尝试与服务器建立Socket连接(使用Java构建):设备每隔20秒就会连接到服务器,并在刚接收到数据时关闭conn,但它也会消耗大量电池。

是否可以像Whatsapp一样立即接收这些消息? 谢谢!!!

======编辑-答案====== 最好的方法是使用 Google Firebase 。这是使用实时连接的Android Studio支持的数据库。要获取消息,您可以使用云通知工具。您将决定是将其显示为通知还是仅将数据用于其他任何内容。它可能会花费很少的电池电量。 Google Firebase有一个免费版本,具有大量存储空间。

3 个答案:

答案 0 :(得分:2)

如果应用已打开,则很可能是套接字连接。通常是信使的工作方式。

尽管它很可能在后台使用推送通知(请检查FCM-Firebase Cloud Messaging)。这种信息来源可能不可靠,因此每隔一两分钟对请求进行服务很酷

答案 1 :(得分:0)

在我们的Messenger中,我们使用长期的HttpsURLConnection作为主要渠道。该连接托管在Service中,并在单独的线程中运行。在断开连接的情况下,我们尝试建立一个新的连接。并且我们的应用程序处于非活动状态2分钟后,我们停止了该服务。

作为第二个渠道,我们使用FCM。

这是有关消息的内容。我们还将WebRTC用于多媒体数据传输。我们将使用SIP呼叫来发起语音和视频呼叫。

答案 2 :(得分:0)

您可以使用BroadCastReceiver进行此操作