Android

BroadcastReceiver

 

와이파이 상태 체크

 

 


 

NetworkReceiver.java

 

public class NetworkReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // 네트워크 상태 값 받아오기
        if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {
            NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
            NetworkInfo.DetailedState state = info.getDetailedState();
            if (state == NetworkInfo.DetailedState.CONNECTED) { // 네트워크 연결 상태이면...
                MainActivity.tv_state.setText("네트워크 연결 완료");
            } else if (state == NetworkInfo.DetailedState.DISCONNECTED) { // 네트워크 연결 해제이면..
                MainActivity.tv_state.setText("네트워크 연결 해제");
            }
        }
    }
}

 


 

MainActivity.java

 

public class MainActivity extends AppCompatActivity {

    public static TextView tv_state;
    private NetworkReceiver receiver;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv_state = findViewById(R.id.tv_state);

        // 브로드 캐스트 리시버 등록 !
        IntentFilter filter = new IntentFilter();
        receiver = new NetworkReceiver();
        filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
        registerReceiver(receiver, filter);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

        // 브로드 캐스트 리시버 해제 !
        unregisterReceiver(receiver);

    }
}

 


 

activity_main.xml

 

<TextView
    android:id="@+id/tv_state"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="테스트"
 />

 

 


 

안드로이드 앱 만들기 #31 네트워크 상태 체크
https://www.youtube.com/watch?v=734okczfUsk

 

홍드로이드 깃헙
https://github.com/hongdroid94/31_BrodcastNetworkCheck

 

Related posts

Leave a Comment