연결 상태 확인 및 모니터링 :: 안드로이드 설치 및 개발[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

안드로이드 설치 및 개발
[1]
등록일:2018-08-21 10:27:48 (0%)
작성자:
제목:연결 상태 확인 및 모니터링

반복적인 알람과 백그라운드 서비스의 가장 흔한 사용 방법은 인터넷 리소스, 캐시 데이터에서 애플리케이션 데이터의 정기 업데이트를 예약하거나 장기 실행 다운로드를 실행하는 것입니다. 그러나 인터넷에 연결되어 있지 않거나 연결이 너무 느려서 다운로드를 완료할 수 없다면 기기를 깨워서 업데이트를 예약할 필요가 있을까요?

ConnectivityManager를 사용하여 인터넷에 실제로 연결되었는지 확인하고 인터넷에 연결되었다면 설정된 연결 유형을 검사할 수 있습니다.

인터넷이 연결되었는지 확인

인터넷에 연결되지 않았다면 인터넷 리소스에 기초하여 업데이트를 예약할 필요가 없습니다. 다음 코드 스니펫은 ConnectivityManager를 사용하여 활성 네트워크를 쿼리하고 인터넷이 연결되었는지 확인하는 방법을 보여줍니다.

ConnectivityManager cm =
       
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
                      activeNetwork
.isConnectedOrConnecting();

인터넷 연결 유형 확인

현재 이용 가능한 인터넷 연결 유형을 확인할 수 있습니다.

기기 연결은 모바일 데이터, WiMAX, Wi-Fi 및 이더넷 연결로 제공될 수 있습니다. 아래와 같이 활성 네트워크 유형을 쿼리하면 이용 가능한 대역폭에 기초하여 새로고침 비율을 변경할 수 있습니다.

boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

모바일 데이터 비용은 Wi-Fi보다 상당히 높으므로, 대부분 앱의 업데이트 비율은 모바일 연결에서 더 낮아야 합니다. 마찬가지로 Wi-Fi에 연결될 때까지 큰 용량은 다운로드를 정지해야 합니다.

업데이트를 비활성화한 뒤에는 연결에 변화가 있는지 수신 대기하고 있다가 인터넷 연결이 설정되면 업데이트를 재개해야 합니다.

연결 변경 모니터링

ConnectivityManager는 연결 세부정보가 변경되면 CONNECTIVITY_ACTION("android.net.conn.CONNECTIVITY_CHANGE") 작업을 브로드캐스트합니다. 매니페스트에서 브로드캐스트 수신기를 등록하고 이러한 변화를 수신 대기하고 있다가 그에 따라 백그라운드 업데이트를 재개(또는 정지)할 수 있습니다.

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

기기 연결은 자주 변경될 수 있습니다. 이 브로드캐스트는 모바일 데이터에서 Wi-Fi 사이를 오갈 때마다 트리거됩니다. 그러므로 이전에 중단된 업데이트나 다운로드를 재개하고자 할 때만 이 브로드캐스트를 모니터링하는 것이 좋습니다. 일반적으로는 업데이트를 시작하기 전에 인터넷 연결을 확인하는 것만으로 충분하고 인터넷이 연결되지 않았다면 연결이 복구될 때까지 추가 업데이트는 중단해야 합니다.

이 기술은 매니페스트에서 선언한 브로드캐스트 수신기 전환이 필요합니다. 이 작업은 다음 과정에서 설명할 것입니다.

[본문링크] 연결 상태 확인 및 모니터링
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34800
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.