ConnectivityManager cManager = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cManager.getActiveNetworkInfo(); if(null == networkInfo) { netTypeText.setText("無網絡"); } else { switch (networkInfo.getType()) { case ConnectivityManager.TYPE_WIFI: //wifi netTypeText.setText("WIFI網絡"); break; case ConnectivityManager.TYPE_MOBILE://手機網絡 // * NETWORK_TYPE_CDMA 網絡類型爲CDMA // * NETWORK_TYPE_EDGE 網絡類型爲EDGE // * NETWORK_TYPE_EVDO_0 網絡類型爲EVDO0 // * NETWORK_TYPE_EVDO_A 網絡類型爲EVDOA // * NETWORK_TYPE_GPRS 網絡類型爲GPRS // * NETWORK_TYPE_HSDPA 網絡類型爲HSDPA // * NETWORK_TYPE_HSPA 網絡類型爲HSPA // * NETWORK_TYPE_HSUPA 網絡類型爲HSUPA // * NETWORK_TYPE_UMTS 網絡類型爲UMTS // 聯通的3G爲UMTS或HSDPA,移動和聯通的2G爲GPRS或EDGE,電信的2G爲CDMA,電信的3G爲EVDO switch (networkInfo.getSubtype()) { case TelephonyManager.NETWORK_TYPE_CDMA: netTypeText.setText("電信2G網絡"); break; case TelephonyManager.NETWORK_TYPE_UMTS: case TelephonyManager.NETWORK_TYPE_HSDPA: netTypeText.setText("聯通3G網絡"); break; case TelephonyManager.NETWORK_TYPE_GPRS: case TelephonyManager.NETWORK_TYPE_EDGE: netTypeText.setText("移動或聯通2G網絡"); break; default: netTypeText.setText("其餘網絡"); break; } break; default: break; } }
一個獲取網絡類型的demo,netTypeText爲TextViewandroid
記得添加權限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>網絡