как проверить Wi-Fi, или 3-граммовая сеть доступна на устройстве на базе Android

Здесь, мое устройство на базе Android поддерживает и Wi-Fi и 3 г. В определенное время, какая сеть доступна на этом устройстве. Поскольку мое требование - когда 3 г доступны, я должен загрузить небольшой объем данных. когда Wi-Fi является доступными всеми данными, должны загрузить. Так, я должен проверить, что соединение является Wi-Fi или 3 г.Пожалуйста, помогите мне.Заранее спасибо.

31
задан Govardhan Reddy 16 July 2010 в 07:30
поделиться

1 ответ

Я использую это:

/**
 * Checks if we have a valid Internet Connection on the device.
 * @param ctx
 * @return True if device has internet
 *
 * Code from: http://www.androidsnippets.org/snippets/131/
 */
public static boolean haveInternet(Context ctx) {

    NetworkInfo info = (NetworkInfo) ((ConnectivityManager) ctx
            .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();

    if (info == null || !info.isConnected()) {
        return false;
    }
    if (info.isRoaming()) {
        // here is the roaming option you can change it if you want to
        // disable internet while roaming, just return false
        return false;
    }
    return true;
}

Вам также понадобится

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

в AndroidMainfest.xml

Чтобы получить тип сети, вы можете использовать этот фрагмент кода:

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

//mobile
State mobile = conMan.getNetworkInfo(0).getState();

//wifi
State wifi = conMan.getNetworkInfo(1).getState();

, а затем использовать его так:

if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING) {
    //mobile
} else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) {
    //wifi
}

Чтобы получить тип мобильной сети, которую я бы попробовал TelephonyManager # getNetworkType или NetworkInfo # getSubtypeName

54
ответ дан 27 November 2019 в 22:17
поделиться
Другие вопросы по тегам:

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