我正在为Telegram或WhatsApp开发类似的应用程序,我需要保持与服务器的持久套接字连接(我知道这是一项资源密集型工作,我确信GCM在这种情况下不会提供帮助,我现在无法改变架构。)
首先,我尝试编写服务,但由于服务在与应用程序主线程相同的过程中运行,因此每当应用程序关闭时,服务都会重新启动。 (我已在START_STICKY
)上返回onStartCommand()
。
之后我开始认为我必须开发一个独立的服务并使用AIDL与我的应用程序进行交互。
如果你能帮助我解决这个问题我很感激。
答案 0 :(得分:1)
用户可以随时杀死您的应用。如果您已将Service
标记为STICKY
,则Android会为您重新启动它。在这种情况下,您需要认识到您的应用已重新启动并重新创建持久套接字连接。在某些情况下,您无法阻止用户(或Android)杀死您的应用。