2015-07-08 1 views
6

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

Не просто подключен к сети, которая не позволит мне получить доступ в Интернет?

public boolean isNetworkAvailable() { 
    ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo networkInfo = manager.getActiveNetworkInfo(); 

    boolean isAvailable = false; 
    if (networkInfo != null && networkInfo.isConnected()) { 
     isAvailable = true; 
    } 
    return isAvailable; 
} 

Я думаю, что он делает, но я не уверен на 100%.

Благодаря

+0

'networkInfo.isConnected()' проверяет, существует ли подключение к сети и, если можно устанавливать соединения и передавать данные. Вы также можете использовать 'networkInfo.isConnectedOrConnecting()', чтобы проверить, существует ли сетевая связь или находится в процессе ее создания. Кроме того, убедитесь, что вы добавили разрешения на свой AndroidManifest.xml для доступа к wifi и сетевому состоянию, соответственно: '' ' ' –

+0

Возможный дубликат [Как проверить доступ в Интернет на Android? InetAddress никогда не отключается] (https://stackoverflow.com/questions/1560788/how-to-check-internet-access-on-android-inetaddress-never-times-out) –

ответ

2

сравнивая принятый ответ на этот пост в свой код, то, что вы делаете, должны работать. Не стесняйтесь сравнивать код. Самым безопасным делом было бы запустить несколько тестов из режима самолета, с отключенным WiFi и от местоположения вдали от WiFi, чтобы быть уверенным. Удачи.

Android - Programmatically check internet connection and display dialog if notConnected

2

Посмотрите в one of my old answers. Он имеет два разных метода: 1. проверить, подключено ли устройство к сети 2. проверить, подключено ли устройство к Интернету.

0

Приведенный ниже код будет проверять подключение к Интернету с помощью Котлин в андроида студии:

private fun amIConnected(): Boolean { 
    val connectivityManager = this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager 
    val activeNetworkInfo = connectivityManager.activeNetworkInfo 
    return activeNetworkInfo != null && activeNetworkInfo.isConnected 
}