Проверьте, если 3g,4g подключен Android

Я использую приведенный ниже код, чтобы проверить, доступно ли какое-либо соединение на мобильном телефоне или планшете. Работает нормально с WiFi и GPRS. К сожалению, у меня нет доступа к 3g, поэтому я не могу проверить, работает ли этот код. Если кто-нибудь из вас может подтвердить это? И насколько это повлияет на время автономной работы?

 private  boolean chkConnectivity() {
    boolean isConnected = false;

    ConnectivityManager connManager = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    android.net.NetworkInfo mobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    if( mobile.isAvailable() && mobile.getDetailedState() == NetworkInfo.DetailedState.CONNECTED ){
        Toast.makeText(ctx, "3g", Toast.LENGTH_SHORT).show();
        return true;
    }
    if (mWifi.isAvailable() && mWifi.getDetailedState() == NetworkInfo.DetailedState.CONNECTED ) {
        Toast.makeText(ctx, "WiFi", Toast.LENGTH_SHORT).show();
        return true;
    }
    try {
        TelephonyManager mgr = (TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE);
        int networkType = mgr.getNetworkType();
        if (networkType == TelephonyManager.NETWORK_TYPE_GPRS){
            Class cmClass = Class.forName(connManager.getClass().getName());
            Method method = cmClass.getDeclaredMethod("getMobileDataEnabled");
            method.setAccessible(true);
            isConnected = (Boolean)method.invoke(connManager);
            if (isConnected){
                Toast.makeText(ctx, "GPRS", Toast.LENGTH_SHORT).show();
                return isConnected;
            }
        }
        Toast.makeText(ctx, "No connection", Toast.LENGTH_SHORT).show();
        return isConnected;

    } catch (Exception e) {
        return false;
    }

}

1 ответ

Решение

Извините, я опоздал.

Вот как работает ваше приложение. Нет проблем в этом.

Без данных

Image2

С даннымивведите описание изображения здесь

Другие вопросы по тегам