android服务中的持久网络连接

时间:2015-09-05 13:40:40

标签: android android-service aidl

我正在为Telegram或WhatsApp开发类似的应用程序,我需要保持与服务器的持久套接字连接(我知道这是一项资源密集型工作,我确信GCM在这种情况下不会提供帮助,我现在无法改变架构。)

首先,我尝试编写服务,但由于服务在与应用程序主线程相同的过程中运行,因此每当应用程序关闭时,服务都会重新启动。 (我已在START_STICKY)上返回onStartCommand()

之后我开始认为我必须开发一个独立的服务并使用AIDL与我的应用程序进行交互。

如果你能帮助我解决这个问题我很感激。

1 个答案:

答案 0 :(得分:1)

用户可以随时杀死您的应用。如果您已将Service标记为STICKY,则Android会为您重新启动它。在这种情况下,您需要认识到您的应用已重新启动并重新创建持久套接字连接。在某些情况下,您无法阻止用户(或Android)杀死您的应用。