2012-12-05 3 views
0

"HttpClient"와 "URLConnection"을 사용하여 서버에서 json dat을 얻었습니다. 앱이 시작되면 제대로 작동합니다. 문제는, 아무런 조작없이 약 20 분 동안 내 전화를 떠나면 앱을 시작하면 "UnknownHostException"(logcat)이고 데이터 응답은 유효하지 않습니다. 이번에는 알림 표시 줄의 wifi 아이콘이 좋은 품질의 무선 연결을 보여줍니다.android - 안드로이드 전화에서 아무 작업도하지 않고있는 동안 UnknownHostException

그래서 응용 프로그램을 닫은 후 여러 번 다시 시작하면됩니다.

저는이 문제를 해결하는 방법을 많이 알아 봤지만 실패했습니다. 나는 이것에 대해 정말로 혼란 스럽다. 이 하나가있어 - http://www.net.princeton.edu/android/android-stops-renewing-lease-keeps-using-IP-address-11236.html, 나는이 버그에 의해 또는 아닙니다 트리거 한 확실하지 않다.

"인터넷에서 코드 끄기 및 끄기"가 모두 작동하지 않는 등 인터넷에서 많은 방법을 시도했습니다. 나는이 코드가 특정 전화 나 안드로이드 시스템의 버그인지 아니면 내 코드가 잘못된 것인지 궁금하다.

2012년 12월 10일

내가, 잠에서 전화 웨이크 위해 대기 2 초마다, 총 5 시간 후 다시 전화를 시도 내 휴대 전화에서 잘 작동하고

업데이트되었습니다.

// all these codes are running on a worker thread (not main thread) 
int timeout = 5; 

if (json == null) { 
    do { 
    Thread.sleep (2000); 
    // call it agina... 
    if (json != null) { 
     break; 
    } 
    } while (--timeout >= 0); 

} 

if (json == null) { 
    // do something if it's not working at last 
} 
+0

을, 나는 그것이 와이파이 몇 초 정도 걸립니다 생각 잠에 깨울 때. 이것은 어떤 응용 프로그램을 사용하든 상관없이 발생합니다. Wifi 잠금 장치를 사용하면 정말 중요하다고 생각할 수 있습니다. 그렇지 않으면 그냥 예외를 잡아 다시 시도하십시오 – Jameo

+0

고마워, 나는 네가 옳다고 생각해. 어쩌면 그냥 시간이 지나면 다시 시도해보십시오 ... – Tom

+0

여러 번 시도한 후, 당신이 옳다는 것을 알았습니다. 그리고 나는 2 초마다 다시 총 5 번 전화를 시도합니다. 그리고 그것은 내 전화기에서 잘 작동합니다. – Tom

답변

0

가장 좋은 방법은 WakeLock을 사용하는 것입니다. 그것은 당신이 문제가이 안드로이드 매니페스트 파일을 사용하는 이런 종류의에 들어갈 질수 있도록 장치에 머물 응용 프로그램을 만드는 :이 많이 발생 했어

<uses-permission android:name="android.permission.WAKE_LOCK"/>

+0

감사합니다. 나중에 이것을 시도하겠습니다. – Tom

+0

감사합니다. 그것은 내 전화에서 작동하지 않지만, 난 그냥 각각 2 초 후 전화 간단한 방법으로 해냈어, 총 5 번 전화 깨우기를 기다리는 총, 지금 내 휴대 전화에서 잘하고있어 .. – Tom