네트워크 연결 상태 확인 및 모니터링

4442 단어 android
반복 알림과 백엔드 서비스의 가장 흔히 볼 수 있는 용도 중 하나는 인터넷 자원에서 나온 응용 데이터, 캐시 데이터에 대해 정기적으로 업데이트를 하거나 장시간 실행하는 다운로드 작업을 배정하는 것이다.그러나 인터넷에 접속하지 않거나 접속이 느려서 다운로드를 완료할 수 없다면 장치를 깨우고 업데이트를 준비할 필요가 없습니다.ConnectivityManager를 사용하여 인터넷에 연결되어 있는지 확인할 수 있으며, 연결된 경우 현재 연결 유형도 확인할 수 있습니다.
인터넷에 연결되었는지 확인
장치가 인터넷에 연결되어 있지 않으면 인터넷 자원에 따라 업데이트를 배정할 필요가 없다.다음 코드 세그먼트는 ConnectivityManager 유효한 네트워크를 조회하고 이 네트워크가 인터넷에 연결되었는지 확인하는 방법을 설명합니다.
ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork.isConnectedOrConnecting();

인터넷 연결 유형 식별
또한 현재 사용 가능한 인터넷 연결의 유형을 확인할 수 있습니다.
모바일 데이터, WiMAX, Wi-Fi 및 이더넷 연결을 통해 장치 연결을 제공합니다.사용 가능한 대역폭에 따라 리셋 빈도를 조정할 수 있도록 유효한 네트워크의 유형을 조회할 수 있습니다.
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

모바일 데이터의 비용은 Wi-Fi보다 훨씬 높기 때문에 대부분의 경우 모바일 연결을 사용한다면 업데이트 빈도를 낮춰야 한다.마찬가지로 Wi-Fi 연결이 없는 경우 더 큰 다운로드 작업을 중단해야 합니다.
업데이트를 정지한 후 인터넷 연결을 구축한 후 업데이트를 복구할 수 있도록 연결 상황의 변화를 반드시 정탐해 주십시오.
연결 상태 변경 모니터링
연결의 구체적인 상황이 바뀌면 ConnectivityManager 방송CONNECTIVITY_ACTION"android.net.conn.CONNECTIVITY_CHANGE" 조작이 된다.이러한 변화를 탐지하고 백엔드 업데이트를 복구하거나 중단할 수 있도록 목록에 라디오 수신기를 등록할 수 있습니다.
 android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

장치 연결 상황의 변화가 매우 빈번할 수 있습니다. 이동 데이터와 Wi-Fi 사이를 서로 전환하면 시스템이 이 방송을 촉발할 것입니다.따라서 이전에 업데이트나 다운로드를 중단했을 때만 이 방송을 감시하여 업데이트나 다운로드를 복구하는 것이 적절하다.일반적으로 업데이트를 시작하기 전에 인터넷 연결을 확인하기만 하면 됩니다. 인터넷에 연결되지 않으면 연결이 회복될 때까지 후속 업데이트를 중단하십시오.

좋은 웹페이지 즐겨찾기