:::: 개발 ::::/:::: 안드로이드 ::::

네트워크 상태 확인

nayha 2014. 4. 21. 15:47

어플 상태 확인 후 접속 불가능한 상태면 


안내창 작업 예정


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


3
4
5
6
7
private boolean checkNetwordState() {
    ConnectivityManager connManager = cManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo state_3g = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    NetworkInfo state_wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
 
    return state_3g.isConnected() || state_wifi.isConnected();
}


함수 호출 후 true 가 아니면 


토스트로 안내..


1. 일단 기본 프로젝트 하나 만드세요.
2. 메니페스트에 밑에 걸 등록하세요.
manifest에
 
        <receiver android:name=".ConnReceiver" android:enabled="true" android:priority="0">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
            </intent-filter>
     </receiver>
이걸 추가하시구요.
3. ConnReceiver.java파일 하나 만드시구요. 이걸 입력하세요.
public class ConnReceiver extends BroadcastReceiver{
 public void onReceive(Context context, Intent intent) {
  String action = intent.getAction();
  if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
   NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
   NetworkInfo.DetailedState state = info.getDetailedState();
   if (state == NetworkInfo.DetailedState.CONNECTED) {
    Toast.makeText(context, "연결되었습니다.", Toast.LENGTH_LONG).show();
   } else if (state == NetworkInfo.DetailedState.DISCONNECTED) {
    Toast.makeText(context, "연결이 끊어졌습니다.", Toast.LENGTH_LONG).show();
   }
  }
 }
}
 


참고url

http://jjorae.com/posts/866



반응형