1

アプリケーションで AsyncTask を使用しています。

問題は、サーバーがダウンしているときに AsyncTask が Interrupted 例外をスローすることです。サーバーがダウンしているかどうかを追跡する方法。

`

HttpGet httpget = new HttpGet(urls[i]);

ResponseHandler<String> responseHandler = new BasicResponseHandler();

content = httpClient.execute(httpget, responseHandler);

`

これと同じ問題は、ハンドセットがしばらくアイドル状態に保たれ、キーガードがロックされ、WI-FI も無効になった場合にも発生します。したがって、キーガードを有効にすると、アプリケーションがフォアグラウンドにある場合、同じ例外が発生します。

この例外を削除するにはどうすればよいか教えてください。これに対する解決策はありますか。

何ができるか教えてください。

よろしく

スニル

4

1 に答える 1

0

基本的に、すべての URL 接続の前に、次のようなことを行うことでネットワークの可用性をテストできます。

if (connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isAvailable()) {
//do your stuff
}

また、短いタイムアウトでサーバーに ping を実行して、サーバーが使用可能かどうかを確認することもできます。

于 2010-08-13T09:24:04.220 に答える