android webservice 后台服务,Android Websocket服务永久连接
我使用websockets在Android中实现了聊天应用程序.但是,当用户关闭应用程序时,与服务器的websocket连接将丢失,并且无法接收到新消息.我从本质上迷失了方向,不知道该去哪儿?如何在应用程序中设置服务,以在用户登录以及停止应用程序后保持与服务器的连接?解决方法:众所周知,在Android上连续执行后台代码是不可行的.不同的ROM将在没有任何保证的情况下手动处理您的后台服务(例如ST
我使用websockets在Android中实现了聊天应用程序.但是,当用户关闭应用程序时,与服务器的websocket连接将丢失,并且无法接收到新消息.
我从本质上迷失了方向,不知道该去哪儿?如何在应用程序中设置服务,以在用户登录以及停止应用程序后保持与服务器的连接?
解决方法:
众所周知,在Android上连续执行后台代码是不可行的.不同的ROM将在没有任何保证的情况下手动处理您的后台服务(例如START_STICKY不会在某些设备上重新启动您的服务),因此我们需要尽最大努力使用可靠执行的代码.
在这种情况下,您将有一台Websocket服务器向您的客户端传递连续的信息.当您的应用程序在后台运行时,可能会丢失一些数据.当您的应用返回到前台时,您的信息可能不同步,因此您需要再次与服务器同步,然后重新连接到Websocket.
在我的聊天应用程序中,我通过检查我的websocket服务是否在一个活动中运行onResume来实现此目的,该活动是我想要访问聊天数据的所有活动的超类(即非登录/注册活动).如果该服务未运行,则通过从端点提取更改然后重新启动服务来同步数据.这样,即使该服务在后台被终止,一旦应用返回前台,我仍将获得最新的数据和实时体验.
标签:websocket,android-webservice,android,service
来源: https://codeday.me/bug/20191120/2044595.html
更多推荐
所有评论(0)