如何知道当前设备正在运行的互联网连接?

3

我想知道设备当前的网络连接情况?

在 Android 中,我发现了两个属性可以知道网络类型,如:

ConnectivityManager.TYPE_WIFI

ConnectivityManager.TYPE_MOBILE

但如何知道 3G 网络?

请帮忙解答,谢谢!

提前感谢!

3个回答

6
现在我可以了解以下三种类型的网络。。。。。。

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

android.net.NetworkInfo wifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

android.net.NetworkInfo mobile = connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

NetworkInfo info = connec.getActiveNetworkInfo();

int netSubType = info.getSubtype();e

            if (wifi.isConnected()) 
            {

             wifi is connected

            }
            else if (mobile.isConnected())
            {
                if(netSubType == TelephonyManager.NETWORK_TYPE_UMTS)
                {   
                       3G is connected

                }
                else
                {
                      GPRS is connected

                }


            }

5
尝试使用以下代码片段获取 subType()

NetworkInfo info = mConnectivity.getActiveNetworkInfo();
int netSubType = info.getSubtype();

如果netSubTypeTelephonyManager.NETWORK_TYPE_UMTS,那么它就是3G网络。
更新:这里的“info”是什么意思?

兄弟,你能告诉我那是什么信息吗?我尝试了ConnectivityManager但它没用。。 - Ganapathy C

0
就我所知,3G仅属于ConnectivityManager.TYPE_MOBILE
如果您正在使用模拟器,则可以按F8连接和断开3G。
这也会断开GPRS连接,对于两者都使用ConnectivityManager.TYPE_MOBILE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接