我在应用程序启动时从我的Android应用程序启动一个tcp服务器,它将应用程序中生成的一些数据发送给所有连接的客户端。该服务器应该在我的应用程序的整个生命周期内都可用。
ServerSocket
是在一个单独的线程中创建的,该线程在Application.onCreate()
中生成(我已经扩展Application
)。
我在找到一个关闭我在应用启动时打开的ServerSocket
的事件时遇到了问题。正如我所发现的,没有保证能够捕获应用程序关闭事件。
那么我应该如何关闭ServerSocket
?
我看到的一种方法是在通知区域添加一条通知,告知我的服务器正在运行,并提供了停止服务器的选项。这是我实现这一目标的唯一方法吗?