我正在寻找一个应用程序,该应用程序向 websocket 发送消息,以便在计算机内部特定参数更改时启用通知。计算机中的参数发生变化,通过 websocket 传输到我的应用程序。这部分是正确的,对吧?
即使我的应用程序关闭,我如何接收这些 websocket 通知?这就是背景数据吧?这应该很简单吗?我的应用程序在关闭时不需要向 Web 套接字发送消息。它需要做的就是在关闭时接收消息。理想情况下,它会说“参数改变时告诉我!” 在安装时,然后在设备上安装时永远保持连接。
此外,网络套接字由第三方托管,因此我无法访问它可能提供的任何服务器设置。
编辑:我觉得我在所有这些中都缺少一个重要的概念。消息系统在关闭时如何接收推送通知?通过网络套接字,对吗?那么即使消息应用程序关闭,它也会接收数据?
过去几周我一直在研究类似的问题。这就是我所做的:
Service。但是 aService本身并不是一个好方法,因为它会在您的应用程序的 UI 线程上工作。大多数情况下,它会在不打扰您或对您造成任何伤害的情况下做自己的事情。但是,当您确实必须打开应用程序的用户界面时(我有一个界面,而且它对我很重要),这会让您无休止地抱怨!无论如何,我似乎无法以非常优雅的方式实现它(我的意思是我曾经多次失去连接)。doInBackground()方法中调用了一个函数mWSConnectionStart(),该函数基本上要求 WebSocketConnection 连接并执行其操作。同时,postUpdate()如果我需要构建一个Notification.这对我来说效果很好,我希望这种方法也适用于你。
PS:我一直无法解决的一个问题是CPU利用率高。愿你过得更好!
PSS:更新:我刚刚在我的设备上看到,Whatsapp(我一直在对我的应用程序性能进行基准测试)比我的应用程序具有更高的 CPU 利用率(电池)!也许它与WebSockets有关。
编辑:我真的建议使用 GCM 而不是 WebSocketConnections。我们正计划自己转向 GCM。原因是它不需要太多的服务器端维护,而且它可以自动化我们的很多任务。
| 归档时间: |
|
| 查看次数: |
10501 次 |
| 最近记录: |