我需要与服务器建立开放连接,并且我想在不同的活动中使用相同的 Socket,因此服务可能是最好的解决方案。我想到了这些可能性:
使用 IntentService 并将广播发送回活动 - 但我不知道当服务“停止”时套接字的状态会发生什么(IntentService 在最后一次运行 onHandleIntent 后自行停止 - 来自http://developer.android.com /reference/android/app/IntentService.html#onHandleIntent(android.content.Intent ))。
在我持有套接字的地方使用带有单例的 IntentService - 不知道这是多么可行。
带有 Messenger 的 AIDL 服务或 BoundService - 我不确定这里会出现什么问题。
我最感兴趣的是最好的方法来做到这一点,所以如果你有更好的建议,请告诉:) 谢谢。