어플 내 네트워크에 연결하는 액션이 일어나기 전에 사용한다.

우선 AndroidManifest.xml 에 아래 코드를 삽입.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

네트워크 연결상태를 확인해야 하는 부분에서 아래 코드를 사용한다.
ConnectivityManager cManager; 
NetworkInfo mobile; 
NetworkInfo wifi; 

cManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 
mobile = cManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
wifi = cManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

if(mobile.isConnected() || wifi.isConnected())
{
    //3G 또는 WiFi 에 연결되어 있을 경우 
}



※ 네트워크의 상태가 변경될때마다 특정 작업을 수행하는 방법.

우선 AndroidManifest.xml 에 아래 코드를 삽입.
<receiver android:name =".TestReceiver">
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter> 
</receiver>

BroadcastReceiver 를 상속받는 class를 생성한다.
public class clsNetwork extends BroadcastReceiver {
    String action;
	
    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        action = intent.getAction();
		
        if(action.equals(ConnectivityManager.CONNECTIVITY_ACTION))
        {
            //네트워크 변화가 생길경우에 처리할 코드 삽입
        }
    }
}
Posted by @shstarkr