2017-07-04 73 views
1

我设置了一个闹钟,当应用程序去背景工作正常,但在服务里面我有一个调用每5分钟间隔发送位置到服务器,应用程序进入后台后,服务工作继续,但到期网络我的api没有被调用,并获取socckettimeOutException虽然网络可用。sockettimeOutexception当应用程序在后台进入

+0

你有没有解决这个问题?我得到同样的问题 – George

回答

0

SocketTimeoutException发生在套接字读取或接受超时时。例如:从套接字输入流中读取字节。网络可能可用,但你没有在套接字上接收数据,所以在经过一段时间并没有收到任何数据之后,会抛出此异常。

您可以使用socket.setSoTimeout(0)来设置套接字超时值,以避免超时。

+0

我认为你不明白我的问题。 让我简单解释一下。 当我的应用程序在后台进入时,只有网络不可用,当我回来并再次打开我的应用程序时,它工作正常。它不会抛出socketTimeOutException。 基本上,我正在做的是,我每分钟都会得到经纬度,每隔2分钟发送一次到服务器。 我已经使用了alarmReceiver,它工作正常,服务不会死亡。 希望你现在明白这一点。 –

0

我们可以通过定义一个套接字超时(使更多的超时),后来通过使用try catch块处理它处理它..

serverSocket.setSoTimeout(10000); //set the socket timeout in milliseconds 
相关问题