티스토리 뷰
스마트폰으로 이용할 수 있는 네트웍 접속 방법은 모바일네트웍, wifi, 블루투스, wibro 등이 있다. 자신의 모바일에서 이런 네트웍 상태를 알아보기위해서는 시스템서비스에서 ConnectivityManager(연결관리자)객체를 받아서 알아볼 수 있다.
ConnectivityManager에서 모든 연결 방법에대한 정보를 한번에 구할 수 있고, 현재 액티브 상태인 연결 방법이나 특정타입의 연결 방법에 대한 정보만을 구할 수도 있다.
ConnectivityManager의 중요 메소드 NetworkInfo[] getAllNetworkInfo() NetworkInfo getActiveNetworkInfo() NetworkInfo getNetworkInfo(int networkType) |
위의 메소드들은 네트웟의 상태, 특성 정보를 NetworkInfo객체를 리턴해준다.
예제)
퍼미션 추가 : <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
모든 상태 확인
public class MainActivity extends Activity { TextView network; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); network = (TextView) findViewById(R.id.network_state); String sResult = " "; ConnectivityManager mgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo[] nif = mgr.getAllNetworkInfo(); for (NetworkInfo n : nif) { sResult += (n.toString() + "\n\n"); } network.setText(sResult); } }
활성중인 연결확인
그렇다면, 실제로 사용될때, 연결상태를 true/ false로 만 확인하고싶다면?
얻어온 NetworkInfo에서 isConnected()로 확인할 수있다.
boolean connected = false; for (NetworkInfo n : nif) { if(n.isConnected()){ connected = true; break; } }
wife만을 확인하기 (개별 적으로도 확인이 가능하다.)
NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
'Language > Android' 카테고리의 다른 글
[Android] 액티비티 생애주기 (0) | 2013.04.19 |
---|---|
[Android] Thread (0) | 2013.04.17 |
[Android] 해상도구하기 (0) | 2013.04.16 |
[Android] 로딩화면구현하기 (0) | 2013.04.16 |
[Android] SharedPreference란 (2) | 2013.04.16 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday