디바이스가 인터넷에 연결되있는지 체크하는 법


디바이스가 인터넷에 연결되있는지 확인하고 싶은데요.

NetworkInfo클래스에 isAvailable()이라는 메소드가 있는데 이거 쓰면 될것 같은데요..

NetworkInfo ni = new NetworkInfo();
if (!ni.isAvailable()) {
    // do something
}

The constructor NetworkInfo is not visible.

이런 에러가 나더라고요. NetworkInfo를 얻어올 수 있는 다른 방법이 있을까요?

  1. 위의 방법으로 잘 동작하는 코드
  2. 제가 혼자서 보고 참고할만한 사이트
  3. 다른 좋은 방법 이 있으면 알려주시면 감사하겠습니다.
  • 2016년 01월 08일에 작성됨

조회수 214


1 답변


좋아요
0
싫어요
채택취소하기

ConnectivityManagergetActiveNetworkInfo()를 쓰면 인터넷이 연결되있으면 NetworkInfo 인스턴스를 리턴하거나 null을 리턴합니다.

이 리턴 값으로 인터넷이 연결되있는지 확인 할 수가 있죠.

private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager 
          = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}

소스를 참고하세요

아! 그리고

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

안드로이드 매니페스트 파일로 가서 위 코드를 꼭 삽입해야해요.

  • 2016년 01월 08일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close