2015-05-20 2 views
0

следующего кода я буду иметь возможность знать сетевое соединение присутствует или нетПроверки сетевых данных в андроиде

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; 
    } 

Но я хочу знать, если пакеты фактических данные есть не любая помощь очень ценятся

+0

Вы хотите сказать, вы хотите знать, если устройство ** действительно ** подключен к Интернету? –

ответ

0

Попробуйте

public static boolean checkInternetConnection(Context context) 
    { 
     try 
     { 
      ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
      android.net.NetworkInfo wifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
      android.net.NetworkInfo mobile = connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 

      if ((wifi != null && wifi.isConnected()) 
        || (mobile != null && mobile.isConnected())) 
      { 
       return true; 
      } 
      log("Connection", "Connection failed"); 
      return false; 
     } 
     catch (Exception e) 
     { 
      // TODO: handle exception 
      e.printStackTrace(); 
      return false; 
     } 
    } 
0

метод вы используете говорят, что устройство подключено к сети, но не к Интернету. Вы не можете знать, действительно ли он подключен к Интернету без обращения к API. Это означает, что вы не можете точно сказать, сможет ли ваше приложение дойти до вашего веб-сервиса, пока вы не получите от него действительный ответ.

+0

Да, как я могу знать, что если есть данные, приходящие или нет – Haroon

+0

Посмотрите на редактирование. Я думаю, теперь ясно –

0

Я обычно использую следующий метод, чтобы проверить подключение к Интернету

public static boolean isNetworkAvailable(Context context) { 



    try{ 
    ConnectivityManager connectivityManager 
      = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
    boolean s= activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting(); 

     return s; 
    } 
    catch(Exception e){ 

     System.out.println("exception network"+e); 
     return false; 
    } 
} 
Смежные вопросы