Android - 如何通过销毁服务中运行的TCP连接来停止电话呼叫

时间:2017-07-11 16:24:09

标签: android sockets tcp timeout

我有一个TCP客户端在异步任务中运行,从服务启动。一切似乎都正常工作但是一旦我收到我的设备的电话,我就会收到这个错误:

java.net.SocketException: recvfrom failed: ETIMEDOUT (Connection timed out) at libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:545) at libcore.io.IoBridge.recvfrom(IoBridge.java:509) at java.net.PlainSocketImpl.read(PlainSocketImpl.java:488) at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46) at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240) at java.io.InputStreamReader.read(InputStreamReader.java:233) at java.io.BufferedReader.fillBuf(BufferedReader.java:145) at java.io.BufferedReader.readLine(BufferedReader.java:397)

我认为这与内存管理有关,但我的应用程序确实依赖于此服务,TCP客户端不能轻易丢失连接。它应该通过广播接收器报告来电。该服务以STICKY开始。日志文件表示正在记录呼叫。可能是这个问题的根源?每一个帮助都表示赞赏。

0 个答案:

没有答案