마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

해외에 런칭시 네트워크 체크 관련 질문

0 추천
    public static boolean NetworkCheck(Context context)
    {
        ConnectivityManager connectivityManager;
        NetworkInfo data, wifi;

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

        data = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
        wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        if (!data.isConnected() && !wifi.isConnected())
        {
            return false;
        }

        return true;
    }

현재 위와 같은 코드로 체크해서 연결이 되어 있으면 true, 아니면 false 를 반환 하는데,

간혹 위 코드에서 에러가 나는 게 발견 됩니다. 네트워크가 불안정한 국가에서 위와 같은 코드로

체크를 하면 문제가 될까요?? 도움을 구해봅니다.

creativepark (490 포인트) 님이 2015년 8월 26일 질문

1개의 답변

0 추천
 
채택된 답변

네트웍이 불안한 국가라서가 아니라, 아마도 data나 wifi값이 null이어서 그렇지 않을까 생각합니다

 

getNetworkInfo메소드의 반환값을 봐도 

Returns
  • NetworkInfo object for the requested network type or null if the type is not supported by the device.
  • null을 반환할 수 있습니다.
  • null 처리를 추가해주시면 될 것 같습니다.
cc1232 (35,280 포인트) 님이 2015년 8월 26일 답변
creativepark님이 2015년 8월 26일 채택됨
not supported 되는 경우를 생각해보면, wifi만 되는 태블릿에서는 data값이 null이 될 수 있지 않을까요?
네 답변 감사드립니다! 참고해서 수정하도록 하겠습니다.
...