Как Вы проверяете интернет-соединение в андроид? [дубликат]

59
задан Sky Kelsey 7 October 2011 в 08:50
поделиться

1 ответ

Вы можете использовать ConnectivityManager для проверки состояния сети.

ConnectivityManager conMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);

if ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED 
    || conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ) {

    // notify user you are online

}
else if ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED 
    || conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED) {

    // notify user you are not online
}

Обратите внимание, что константы ConnectivityManager.TYPE_MOBILE и ConnectivityManager.TYPE_WIFI представляют типы соединений, и эти два значения не являются исчерпывающими. Исчерпывающий список смотрите здесь.


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

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
63
ответ дан 24 November 2019 в 18:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: