2014-12-23 2 views

ответ

1

Создать метод, как показано ниже.

public static boolean isConnectingToInternet(Context context) { 
     ConnectivityManager connectivity = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 
     if (connectivity != null) { 
      NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
      if (info != null) 
       for (int i = 0; i < info.length; i++) 
        if (info[i].getState() == NetworkInfo.State.CONNECTED) { 
         return true; 
        } 

     } 
     return false; 
    } 

и назовите его, где хотите. Поместите его в Условие IF - ELSE, чтобы вы могли проверить подключение.

Или, если вы хотите вызвать этот метод через свой проект, вы можете создать один статический класс, как показано ниже.

public class ConnectivityDetector { 

    public static boolean isConnectingToInternet(Context context) { 
     ConnectivityManager connectivity = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 
     if (connectivity != null) { 
      NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
      if (info != null) 
       for (int i = 0; i < info.length; i++) 
        if (info[i].getState() == NetworkInfo.State.CONNECTED) { 
         return true; 
        } 

     } 
     return false; 
    } 
} 

и назовите его, как показано ниже, в каждом классе, где хотите.

if (ConnectivityDetector.isConnectingToInternet(Test.this)) { 
     // do your stuff 
} else { 
     // Alert dialog that says, No Internet connection 
} 

Также убедитесь, что у вас есть необходимое разрешение для контроля состояния сети. Вам необходимо добавить это разрешение на свой AndroidManifest.xml:

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

Надеюсь, это вам поможет.

Смежные вопросы