2012-05-04 6 views
0

이 문제를 해결하기 위해 많은 시행 착오를 시도했지만 더 많은 옵션이 부족한 것으로 보입니다.EDGE에서 데이터 전송을 수행 할 수 없습니다.

시나리오 : HttpClient를 사용하여 내 서버에서 호스팅되는 PHP 페이지에 간단한 HTTP POST 트랜잭션을 수행하는 AsyncTask가 있습니다. 이것은 테스트를 거쳤으며 연결 유형이 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> 

답변

4

은. GPRS 연결을 확인하십시오. VodafoneLive! 설정은 위의 문제, 모바일 네트워크 내부의 VodafoneGPRS 설정을 선택한 상태에서 사용됩니다.