我一直试图做很多试验和错误来解决这个问题,但似乎已经用完了更多的选择。
方案: 我有一个AsyncTask,它使用HttpClient对我服务器上托管的php页面执行简单的HTTP POST事务。这已经过测试,当连接类型为Wifi时,它可以正常工作。
问题:只要将数据连接切换到EDGE,数据传输就不起作用。我收到以下错误。
java.net.SocketException: The operation timed out
这通常发生在低端设备上。我已检查数据连接是否存在,当我使用浏览器时它工作正常。该问题似乎与我的应用程序无关,因为除Google浏览器等浏览器之外的所有其他应用程序,Google地方信息也无法进行任何数据传输,并且导致主机未找到异常。
我试图增加时间,看看这是因为连接速度慢但没有缓解。
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>
答案 0 :(得分:4)
面临同样的问题。检查GPRS连接,它应该工作正常,当VodafoneLive!设置用于面对上述问题,选择VodafoneGPRS设置在移动网络内部,其工作正常。