0

我一直在尝试做很多试验和错误来解决这个问题,但似乎已经没有更多选择了。

场景:我有一个 AsyncTask,它使用 HttpClient 对托管在我的服务器上的 php 页面执行简单的 HTTP POST 事务。这已经过测试,当连接类型为 Wifi 时它工作得非常好。

问题:一旦我将数据连接转移到 EDGE,数据传输就不起作用。我收到以下错误。

java.net.SocketException: The operation timed out

这通常发生在低端设备上。我检查了数据连接是否存在,当我使用浏览器时它工作正常。这个问题似乎与我的应用程序无关,因为除了谷歌地图等浏览器之外的所有其他应用程序,谷歌地方也无法进行任何数据传输,并且抛出未找到主机的异常。

我试图增加超时时间,看看这是否是因为连接速度慢但没有缓解。

HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 30000);
HttpConnectionParams.setSoTimeout(httpParameters, 30000);
HttpConnectionParams.setTcpNoDelay(httpParameters, true);

权限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
4

1 回答 1

4

面临同样的问题。检查 GPRS 连接,它应该可以正常工作,当 VodafoneLive 时!使用设置面临上述问题,选择移动网络内的沃达丰GPRS设置,其工作正常。

于 2012-12-11T08:23:13.753 回答