Как я могу проверить, подключено ли устройство на базе Android к сети?

Как я знал бы, подключено ли мое устройство сеть или нет? Как я могу обнаружить возможность соединения? Какой-либо пример кода?

25
задан Muhammad Maqsoodur Rehman 7 May 2010 в 15:14
поделиться

3 ответа

Во-первых, вам нужно разрешение, чтобы узнать, подключено ли устройство к Интернету или нет. Это должно быть в вашем манифесте, в элементе :

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

Затем вам нужно получить ссылку на ConnectivityManager :

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

Оттуда вам нужно получить объект NetworkInfo . Для большинства это будет означать использование ConnectivityManager. getActiveNetworkInfo () :

NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
    // There are no active networks.
    return false;
}

Оттуда вам просто нужно использовать один из методов NetworkInfo, чтобы определить, подключено ли устройство к Интернету:

boolean isConnected = ni.isConnected();
54
ответ дан 28 November 2019 в 18:19
поделиться
0
ответ дан 28 November 2019 в 18:19
поделиться

Во-первых, вам нужно разрешение, чтобы знать, подключено устройство к Интернету или нет. Оно должно быть в вашем манифесте, в элементе:

then

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

if (connec != null && (
    (connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) || 
    (connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED))) { 

        //You are connected, do something online.

} else if (connec != null && (
    (connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED) ||
    (connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED ))) {            

        //Not connected.    
        Toast.makeText(getApplicationContext(), "You must be connected to the internet", Toast.LENGTH_LONG).show();

} 
6
ответ дан 28 November 2019 в 18:19
поделиться
Другие вопросы по тегам:

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