2016-09-01 6 views
0

я написал ниже код, чтобы проверить подключение к ИнтернетуПроверка подключения к Интернету на Android

public static boolean isNetworkAvailable(Context context) { 
    ConnectivityManager cm = 
      (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
    if (activeNetwork == null) { 
     return false; 
    } else { 
     if (activeNetwork.isConnected()) { 
      return true; 
     } 
    } 
} 

я проверить, если activeNetWork имеет нулевое значение, но по-прежнему получаю ошибку NullPointerException, почему? enter image description here

+0

вы добавили разрешение Интернет в вашем файле манифеста? – lawstud

+0

Вы даете разрешение в файле AndroidManifest? – Hemina

+0

Сообщение об исключении говорит, что вы пытались вызвать метод 'isConnectedOrConnecting()', в то время как в вашем коде есть только 'isConnected()' call. Вы уверены, что вы показываете правильный фрагмент кода? – Rames

ответ

0

Используйте этот код:

public static boolean isInternetconnected(Context ct) { 
    boolean connected = false; 
    //get the connectivity manager object to identify the network state. 
    ConnectivityManager connectivityManager = (ConnectivityManager)ct.getSystemService(Context.CONNECTIVITY_SERVICE); 
    //Check if the manager object is NULL, this check is required. to prevent crashes in few devices. 
    if(connectivityManager != null) { 
    //Check Mobile data or Wifi net is present 

     if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || 
       connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) { 
    //we are connected to a network 
    connected = true; 
    } else { 
     connected = false; 
    } 
    return connected; 
    } else { 
    return false; 
} 
} 
Смежные вопросы