ネットワーク接続の確認
2331 ワード
翻訳:http://www.grokkingandroid.com/android-checking-connectivity/
いつでも、アプリケーションがネットワークにアクセスする必要がある場合は、デバイスが現在ネットワークに接続されていることを事前に知っておく必要があります.Androidは、デバイスのネットワーク接続状態をよりよく取得するために、ConnectivityManagerとNetworkInfoの2つのclassを提供しています.
一般的には、アクティブな作成は必要ありません.
ConnectivityManager自体はあまり機能しませんが、NetworkInfoオブジェクト(現在のネットワーク接続状態を取得)を取得できます.NetworkInfoオブジェクトを取得するには3つの方法がありますが、ネットワーク接続の状態をすぐに知りたい場合は、次の方法が最も効果的です.
または、ConnectivityManagerを使用して、システムで使用可能なNetworkInfoオブジェクトのセットを取得することもできます.各NetworkInfoは、ネットワークタイプ(e.g.WIFI)を表します.
NetworkInfoオブジェクトを使用すると、ネットワークタイプに関するすべての情報を取得できます.ネットワークタイプが現在使用可能かどうかを検出できます.現在ネットワークに接続されている場合は、現在接続されているネットワークがそのタイプであることを取得できます.
以下に、NetworkInfoクラスの重要な方法を示します.画面には、これらのメソッドの実行結果(WIFIまたはUMTSネットワークの情報)が表示されます.
NetworkInfo showing only disconnected states
NetworkInfo showing an established WIFI connection
NetworkInfo showing an established UMTS connection
ネットワークへの接続状態にアクセスするにはmanifestファイルで権限を明確に宣言する必要があります.
関連記事:
Android: Getting Notified of Connectivity Changes
いつでも、アプリケーションがネットワークにアクセスする必要がある場合は、デバイスが現在ネットワークに接続されていることを事前に知っておく必要があります.Androidは、デバイスのネットワーク接続状態をよりよく取得するために、ConnectivityManagerとNetworkInfoの2つのclassを提供しています.
一般的には、アクティブな作成は必要ありません.
ConnectivityManager , Context
ConnectivityManager connManager =
(ConnectivityManager)context.
getSystemService(Context.CONNECTIVITY_SERVICE);
ConnectivityManager自体はあまり機能しませんが、NetworkInfoオブジェクト(現在のネットワーク接続状態を取得)を取得できます.NetworkInfoオブジェクトを取得するには3つの方法がありますが、ネットワーク接続の状態をすぐに知りたい場合は、次の方法が最も効果的です.
NetworkInfo info = connManager.getActiveNetworkInfo();
または、ConnectivityManagerを使用して、システムで使用可能なNetworkInfoオブジェクトのセットを取得することもできます.各NetworkInfoは、ネットワークタイプ(e.g.WIFI)を表します.
NetworkInfo info = connManager.getAllNetworkInfo();
NetworkInfoオブジェクトを使用すると、ネットワークタイプに関するすべての情報を取得できます.ネットワークタイプが現在使用可能かどうかを検出できます.現在ネットワークに接続されている場合は、現在接続されているネットワークがそのタイプであることを取得できます.
以下に、NetworkInfoクラスの重要な方法を示します.画面には、これらのメソッドの実行結果(WIFIまたはUMTSネットワークの情報)が表示されます.
info.isAvailable()
info.isConnected()
info.isConnectedOrConnecting()
info.getState()
info.getDetailedState()
info.getTypeName()
info.getType()
info.getSubtypeName()
info.getSubtype()
NetworkInfo showing only disconnected states
NetworkInfo showing an established WIFI connection
NetworkInfo showing an established UMTS connection
ネットワークへの接続状態にアクセスするにはmanifestファイルで権限を明確に宣言する必要があります.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
関連記事:
Android: Getting Notified of Connectivity Changes