Android 如何在多个活动中启动和保持套接字连接?

Android 如何在多个活动中启动和保持套接字连接?,android,sockets,android-service,Android,Sockets,Android Service,我很难找到实现这一点的方法: 我有一个活动A,从那里我将开始2个独立的套接字连接。 之后我将转到活动B,从那里我将返回第四个活动C和D。所有3个活动都将通过套接字交换消息 现在,根据我的理解,我需要为每个套接字创建一个服务,但是如何准确地保持两个套接字的打开状态,而不必每次切换到另一个活动时创建新连接 另外,如何保持服务运行“接受循环”,提示用户当前活动的操作 谢谢您应该使用服务是正确的。一个好的经验法则是,您应该为任何后台处理使用服务,而这些后台处理在逻辑上不受单个活动生命周期的约束。(并使用

我很难找到实现这一点的方法:

我有一个活动A,从那里我将开始2个独立的套接字连接。 之后我将转到活动B,从那里我将返回第四个活动C和D。所有3个活动都将通过套接字交换消息

现在,根据我的理解,我需要为每个套接字创建一个服务,但是如何准确地保持两个套接字的打开状态,而不必每次切换到另一个活动时创建新连接

另外,如何保持服务运行“接受循环”,提示用户当前活动的操作


谢谢

您应该使用
服务
是正确的。一个好的经验法则是,您应该为任何后台处理使用服务,而这些后台处理在逻辑上不受单个活动生命周期的约束。(并使用
AsyncTask
进行后台处理,该处理在逻辑上受单个活动生命周期的约束。)

但是您不需要为每个套接字创建服务。您应该创建一个服务,该服务可以执行您需要对套接字执行的任何操作。您的活动可以通过多种方式与服务交互、传递消息或获取对其套接字的引用,您可以在中阅读这些内容