切换WiFi和3G网络后,Webservice调用不起作用

4
我在我的应用程序中编写了一个服务,每15秒向服务器发送经纬度。问题是:
服务启动时,我使用wifi,并且每15秒使用最新的经纬度调用服务器,这很好用。一段时间后,我关闭wifi并打开3g(移动网络),现在服务没有向服务器报告最新的经纬度。但是当关闭wifi一段时间后再次打开wifi时,它可以正常工作。
反之亦然,当我们在3G和wifi之间切换时,服务也无法正常工作。但是当我在3G之间切换时,即最初使用3G,关闭一段时间后再次打开3G时,也无法正常工作(但wifi到wifi的更改服务可以正常工作)。
我不知道为什么我的服务会出现这种异常情况。
如果有人知道这个问题,请寻求帮助。立即回复将不胜感激。
问候, Kiran.

你找到解决方法了吗?我也遇到了同样的问题。唯一的区别是,如果我从3G切换到WiFi,连接仍然可以正常工作。但是如果我从WiFi切换到3G,我的连接就会挂起。我注意到当我调用getResponseCode()时,我的连接会挂起。到目前为止,我还在寻找解决方法。 - Arci
你应该发布一些代码,展示你如何处理连接变化。你还应该查看logcat,看看在打开和关闭连接时是否有任何错误。这可能会提高你获得帮助的机会。 - David Wasser
这可能与此相关:http://code.google.com/p/android/issues/detail?id=2207 - Niko
嗨,Kiran,如果问题得到解决,分享解决方案会很好。 - Sree Rama
切换从WiFi连接到3G会导致连接挂起: https://dev59.com/8GLVa4cB1Zd3GeqP0-tb?rq=1 - Sree Rama
1个回答

0

这是不可能的。

任何支持多连接的平台,如果它切换到其他连接,它将不会处理发送到服务器的请求。

当连接丢失时,您需要重新发出请求,这个问题没有解决方案。


应该是可能的。Android API 中可能会有一些限制或错误。 - Sree Rama
@RamakrishnaNagulakonda 不,你也可以在网页浏览器中尝试,使用相同的方法。你可以使用一个连接(拨号连接)发出请求,在处理过程中切换到其他连接(如Wifi),然后你会看到相同的行为。 - Mayur Raiyani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接