くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Androidでネットワークの状態を確認/判定する

ネットワーク確認

ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();

// 接続状態状況の判定
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
                      
// ネットワークタイプの判定
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

ネットワーク確認:Wifiのみ

WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wm.getConnectionInfo();
 
WifiInfo.SupplicantState state = wifiInfo.getSupplicantState();

接続の変化はブロードキャストレシーバーで受け取る

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

参考にしたサイト様