2013-09-10 3 views
1

Я хочу, чтобы все проверить соединение с Интернетом и доменом или хостом. Я использовал метод проверки подключения к Интернету, но я не могу добавить проверку доступности хоста. Мой код здесь;Как проверить соединение хоста с подключением к Интернету

public class InternetCheck{ 
    public static boolean isInternetAvailable(Context context) 
    { 
     NetworkInfo info = (NetworkInfo) ((ConnectivityManager) 
     context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); 

     if (info == null){ 
      Constants.connectionProblem = "Check your internet connection"; 
      return false; 
     } 
     else{ 
      return true; 
     } 
    } 
} 

Я хочу, чтобы добавить проверку хоста или домена доступности внутри isInternetAvailable() метод. Он должен вернуть false и установить Constant.connectionProblem = "Host is not available". Потому что, я вызову этот метод в своей основной деятельности, и если он вернет false, я покажу тост, который показывает, что Constants.connectionProblem.

ответ

8

попробовать этот метод

private boolean isHostRechable(String hostUrl) { 
     try { 
      URL url = new URL(hostUrl); 
      final HttpURLConnection urlc = (HttpURLConnection) url.openConnection(); 
      urlc.setRequestProperty("User-Agent", "Android Application"); 
      urlc.setRequestProperty("Connection", "close"); 
      urlc.setConnectTimeout(10 * 1000); 
      urlc.connect(); 
      if (urlc.getResponseCode() == 200) { 
       return true; 
      } 
     } catch (Throwable e) { 
      e.printStackTrace(); 
     } 
     return false; 
    } 
+0

Это именно то, что я хочу сделать. Я отметил этот ответ;) @BirajZalavadia –

+0

Да, это абсолютно правильно. Я принял этот вопрос неправильно. –

1

использовать этот метод:

Если вы не хотите, чтобы показать тост комментировать.

Не забудьте указать разрешение в файле манифеста. Вот разрешение:

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