この問題を解決するために多くの試行錯誤を繰り返してきましたが、さらに多くのオプションがなくなったようです。EDGEでデータ転送を行うことができません
シナリオ: HttpClientを使用してサーバー上でホストされているPHPページへの単純なHTTP POSTトランザクションを実行するAsyncTaskがあります。これはテストされており、接続タイプがWifiの場合は正常に動作します。
問題:データ接続をEDGEに移行すると、データ転送が機能しなくなります。次のエラーが表示されます。
java.net.SocketException: The operation timed out
これは、通常、ローエンドのデバイスで発生します。データ接続が存在することを確認しました。ブラウザを使用するとうまく動作します。この問題はGoogle Mapsなどのブラウザとは別に他のアプリケーションと同様に私のアプリケーションとは無関係のようですが、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>