Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android判斷網絡類型的方法(2g,3g還是wifi)

Android判斷網絡類型的方法(2g,3g還是wifi)

編輯:關於Android編程

本文實例講述了Android判斷網絡類型的方法。分享給大家供大家參考,具體如下:

判斷網絡類型是wifi,還是3G,還是2G網絡,對不同的網絡進行不同的處理,現將判斷方法整理給大家,以供參考

說明:下面用到的數據移動2G,聯通2G,聯通3G,wifi我都已經測試過,暫時手上沒有電信的卡,所以沒有驗證,有電信手機的同事,可以驗證一下,驗證後將結果發送給大家。

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

一、判斷網絡是否是wifi,在判斷之前一定要進行的非空判斷,如果沒有任何網絡連接

info ==null
info.getType() == ConnectivityManager.TYPE_WIFI

二、判斷是否是手機網絡

info !=null && info.getType() == ConnectivityManager.TYPE_MOBILE

手機網絡進行詳細區分:

info.getSubtype() 這裡使用 getSubtype(),不是 getType(),getType()返回的是0,或者1,是區分是手機網絡還是wifi

info.getSubtype()取值列表如下:

* 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

android獲取手機的ip地址

private String getPhoneIp() {
    try {
      for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
        NetworkInterface intf = en.nextElement();
        for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
          InetAddress inetAddress = enumIpAddr.nextElement();
          if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
          //if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet6Address) {
            return inetAddress.getHostAddress().toString();
          }
        }
      }
    } catch (Exception e) {
    }
    return "";
}

更多關於Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android數據庫操作技巧總結》及《Android控件用法總結》

希望本文所述對大家Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved