2009-09-01 12 views
2

には、ネットが接続されているかどうかを知る方法があります。以下のコードがありますが、ネットワークがタイムアウトするまで待っていました。インターネット接続が利用可能になったときにブラックベリーが通知を受ける。

int rc = connection.getResponseCode(); 
if (rc != HttpConnection.HTTP_OK) { 
throw new IOException("HTTP response code: " + rc); 
} 

他の方法はありますか。

RadioInfo.isDataServiceOperational(); 
CoverageInfo.isOutOfCoverage(); 
WLANInfo.getWLANState(); 

答えて

3

は、ネットワーク情報を取得するためのいくつかのAPIがあります。タイトルに基づいて、NetworkStarted()関数を定義するRadioStatusListenerインターフェイスを使用して、ネットワークの開始時に通知することができます。現在のネットワークがデータ転送をサポートしていることを確認するために、coldiceが推奨するチェックを使用することができます。

RadioStatusListner JavaDocs

+1

1 RadioInfo.getStateは()もユーザーのための強力な/便利なエラーメッセージを作成するための努力に役立つかもしれません。 – Fostah

4

この質問のタイトルは、質問の身体とは異なる意味を持つ:

+2

私はこれを二番目に定義します。具体的には、RadioStatusListner内のnetworkStateChange(int state)メソッドです。これにより、常にネットワークの状態をチェックするバックグラウンドスレッドを持つ手間が省けます。 毎回データ接続を行う前に、RadioInfo.isDataServiceOperational()をチェックすることをお勧めします。タイムアウトを待って立ち往生することができることを考慮すると、これは推奨される方法です。 – AtariPete

関連する問題