2013-09-01 9 views
0

"netinfo"를 "null"로 설정하지 않은 경우 아래 코드를 사용하여 연결 상태를 표시 할 때 "if"조건은 항상 "true"를 반환합니다.ConnectivityManager의 반환 값 또는 ADT의 NetworkInfo - Android

어디에 문제가 있습니까?

public boolean isConnectedToInternet() 
{ 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
    if (netInfo.isConnectedOrConnecting()) 
     { 
      Toast.makeText(this, "On",Toast.LENGTH_LONG).show(); 
      Log.i("NewsList", "Internet Connection found."); 
      return true; 
     } 

    Toast.makeText(this, "Off",Toast.LENGTH_LONG).show(); 
    return false; 
} 
+0

확인이 http://stackoverflow.com/questions/18525924/android-ask -user-to-both-enable-wifi-or-quit-app/18526358 # 18526358 – Ritaban

답변

1

시도 다음

DetectConnection.class :

public class DetectConnection { 
    /* 
    * Checking internet connection 
    */ 
    public static boolean checkInternetConnection(Context context) { 

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

     if (con_manager.getActiveNetworkInfo() != null 
       && con_manager.getActiveNetworkInfo().isAvailable() 
       && con_manager.getActiveNetworkInfo().isConnected()) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
} 

확인 인터넷을 다른 활동에서 :

if (DetectConnection.checkInternetConnection(this)) { 
     //do something 
} 
+0

thanx 그러나 여전히 "true"를 반환합니다. – spm