"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Android에서 인터넷 연결 변경을 처리하는 방법은 무엇입니까?

Android에서 인터넷 연결 변경을 처리하는 방법은 무엇입니까?

2024-11-07에 게시됨
검색:478

How to Handle Internet Connectivity Changes in Android?

Android에서 인터넷 연결 변경 처리

질문은 인터넷 연결 변경을 모니터링할 수 있는 브로드캐스트 수신기의 필요성에 관한 것입니다. 기존 코드는 연결 변경만 감지합니다.

이 문제를 해결하기 위한 대체 접근 방식은 다음과 같습니다.

public class NetworkUtil {
    public static final int TYPE_WIFI = 1;
    public static final int TYPE_MOBILE = 2;
    public static final int TYPE_NOT_CONNECTED = 0;

    public static int getConnectivityStatus(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        if (activeNetwork != null) {
            if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
                return TYPE_WIFI;

            if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
                return TYPE_MOBILE;
        }
        return TYPE_NOT_CONNECTED;
    }
}

이 메서드는 기기가 WiFi 또는 모바일 데이터에 연결되어 있는지 확인합니다.

public class NetworkChangeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        int status = NetworkUtil.getConnectivityStatus(context);
        if ("android.net.conn.CONNECTIVITY_CHANGE".equals(intent.getAction()) {
            if (status == NetworkUtil.TYPE_NOT_CONNECTED) {
                // Handle loss of internet connectivity
            } else {
                // Handle restoration of internet connectivity
            }
        }
    }
}

이 BroadcastReceiver는 연결 상태 변경을 모니터링하고 현재 상태에 따라 작업을 트리거합니다. 적절한 권한을 포함하고 AndroidManifest.xml에 수신자를 등록해야 합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3