我有运行新线程的服务。线程负责打开与服务器的连接
serverAddr = InetAddress.getByName(serverIP);
socket = new Socket(serverAddr, port);
然后我运行具有循环并始终从服务器读取的 listenToServer() 方法。
scanner = new Scanner(socket.getInputStream());
message = scanner.nextLine();
while (!message.equals(null)
message = scanner.nextLine();
//...
}
根据该消息,我调用了一些方法,这些方法将指令发送到处理许多情况的活动,并且线程仍在侦听来自服务器的新指令。
但是当 Internet 连接丢失(关闭 wi-fi 或服务器关闭)时,应用程序将崩溃。我该如何处理此错误并安全地停止和取消绑定服务并停止工作线程(从服务启动)。