duyojiぶろぐ

技術系ときどき日常系

ネットワーク接続、非接続処理

public static boolean isConnected(Context context){
        ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo ni = cm.getActiveNetworkInfo();
        if( ni != null ){
            return cm.getActiveNetworkInfo().isConnected();
        }
        
        return false;
}

ConnectivityManagerを使うと接続時、非接続時のイベント処理が出来る。

このようなstaticメソッドを作ってあとはこのメソッドを
呼び出すだけで接続時はtrue,非接続時はfalseが帰ってくる。


ちなみにこれを記入するだけではうまく動かず、Androidmanifest.xmlファイルに

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

を記述しないとえらーが起きる。

ネットワーク接続自体は

<uses-permission android:name="android.permission.INTERNET" />

この記述が必要。