「HttpClient」と「URLConnection」を使用json
してサーバーからデータを取得しましたが、アプリの起動時に正常に動作しています。問題は、携帯電話を操作せずに約 20 分以上そこに置いたままにしておくと、アプリを起動すると、「UnknownHostException」が表示されlogcat
、検証データの応答がないことです。今回は、通知バーの wifi アイコンがワイヤレス接続の良好な品質を示しています。
だから私はアプリを閉じて、何度も再起動しましたが、大丈夫です。
私はこれを解決する方法を知るためにたくさんグーグルで検索しましたが、失敗しました。私はこれについて本当に混乱しています。私はこれを手に入れました - http://www.net.princeton.edu/android/android-stops-renewing-lease-keeps-using-IP-address-11236.html、このバグによってトリガーされたかどうかはわかりません.
「コードでwifiをオフにしてオンにする」など、インターネットから多くの方法を試しましたが、すべて機能しませんでした。これが特定の電話またはAndroidシステムのバグなのか、それとも私のコードに何か問題があるのか 疑問に思っているだけです。アドバイスをいただければ幸いです。
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
}