2011-11-15 14 views
0

私のアプリケーションはインターネットonCreateに接続します。これはAsyncTaksクラスで実行され、すべて正常に動作します。私は、インターネットが利用可能であることを確認するために、いくつかのエラーチェックをしています。完全なCONNECTIVITY_SERVICEテスト

私の問題は、私がWIFIにいるときです。そこでは、WWWが時折落ちてしまいますが、電話機は接続されていると考えています。たとえば、携帯電話はまだWIFIドングルに接続されていますが、WIFIドングルはWWWに接続されていないため、アプリケーションが開いて接続しようとするとエラーが発生し、強制終了します。

どのようにすれば完全なインターネット接続チェックを行うことができますか?すべてのベースをカバーしますか?

乾杯、

マイク。

答えて

0

1つの可能性は、あなたがより良い方法で取得しているエラーを処理することです。あなたはあなたのアプリケーションからRuntimeExceptionを取得していると思いますので、あなたは現在力を閉じています。例外を処理し、ユーザーに適切なメッセージを伝えることは適切かもしれません。

別の方法は、一部の高可用性サーバーに接続して動作するかどうかを確認することです。たとえば、次のようなものが動作するはずです:あなたは、あなたが取得している例外/エラーを投稿し、私の答えにコメントした場合

HttpClient client = new DefaultHttpClient(); 
HttpGet request = new HttpGet("http://www.google.com/"); 
try { 
    HttpResponse response = client.execute(request); 
    txtResult.setText(HttpHelper.request(response)); 
    // internet is working 
} catch(Exception ex) { 
    // internet is not working 
    txtResult.setText("Internet ENOWORK"); 
} 

私はより具体的でそれを編集することができます。

+0

あなたのGoogleの例が気に入っています。ありがとう –