3

我想知道设备上当前的互联网连接??

在android中我找到了两个属性来了解网络类型,比如..

ConnectivityManager.TYPE_WIFI

ConnectivityManager.TYPE_MOBILE

但是怎么知道3G网络??

请帮帮我

提前致谢!

4

3 回答 3

6

现在我可以知道以下 3 种类型的网络............

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

                }


            }
于 2011-04-08T13:04:11.203 回答
5

尝试subType()使用此代码段:

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

如果netSubTypeTelephonyManager.NETWORK_TYPE_UMTS,那么它是一个 3G 网络

更新:这里的“信息”是什么

于 2011-04-08T09:40:28.530 回答
0

就我用过的3G来说是下ConnectivityManager.TYPE_MOBILE而已。

如果您使用的是模拟器,那么您可以按 F8 连接和断开 3G。

它还会断开 GPRS。两者ConnectivityManager.TYPE_MOBILE都使用。

于 2011-04-08T09:35:07.547 回答