android 服务中的持续网络连接
persistent network connection in an android service
我正在开发与 Telegram 或 WhatsApp 类似的应用程序,我需要与服务器保持持久的套接字连接(我知道这是一项资源密集型工作,我确信 GCM 在这种情况下不会提供帮助,我暂时无法更改架构)。
首先,我尝试编写一个服务,但由于该服务 运行 与应用程序的主线程处于同一进程中,因此只要关闭应用程序,服务就会重新启动。 (我已在 onStartCommand()
返回 START_STICKY
)。
在那之后,我开始认为我必须开发一个独立的服务并使用 AIDL 与我的应用程序交互。
如果你能帮我解决这个问题,我将不胜感激。
如果用户愿意,他们可以随时终止您的应用。如果您将 Service
标记为 STICKY
,Android 将为您重新启动它。在这种情况下,您将需要认识到您的应用程序已重新启动并重新创建持久套接字连接。在某些情况下,您无法阻止用户(或 Android)终止您的应用程序。
我正在开发与 Telegram 或 WhatsApp 类似的应用程序,我需要与服务器保持持久的套接字连接(我知道这是一项资源密集型工作,我确信 GCM 在这种情况下不会提供帮助,我暂时无法更改架构)。
首先,我尝试编写一个服务,但由于该服务 运行 与应用程序的主线程处于同一进程中,因此只要关闭应用程序,服务就会重新启动。 (我已在 onStartCommand()
返回 START_STICKY
)。
在那之后,我开始认为我必须开发一个独立的服务并使用 AIDL 与我的应用程序交互。
如果你能帮我解决这个问题,我将不胜感激。
如果用户愿意,他们可以随时终止您的应用。如果您将 Service
标记为 STICKY
,Android 将为您重新启动它。在这种情况下,您将需要认识到您的应用程序已重新启动并重新创建持久套接字连接。在某些情况下,您无法阻止用户(或 Android)终止您的应用程序。