欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android判斷網(wǎng)絡(luò)類型的方法(2g,3g還是wifi)

 更新時間:2016年02月05日 11:06:38   作者:lee0oo0  
這篇文章主要介紹了Android判斷網(wǎng)絡(luò)類型的方法,可實(shí)現(xiàn)判斷2g,3g還是wifi的功能,結(jié)合實(shí)例形式分析了Android針對網(wǎng)絡(luò)類型的相關(guān)判定技巧,需要的朋友可以參考下

本文實(shí)例講述了Android判斷網(wǎng)絡(luò)類型的方法。分享給大家供大家參考,具體如下:

判斷網(wǎng)絡(luò)類型是wifi,還是3G,還是2G網(wǎng)絡(luò),對不同的網(wǎng)絡(luò)進(jìn)行不同的處理,現(xiàn)將判斷方法整理給大家,以供參考

說明:下面用到的數(shù)據(jù)移動2G,聯(lián)通2G,聯(lián)通3G,wifi我都已經(jīng)測試過,暫時手上沒有電信的卡,所以沒有驗(yàn)證,有電信手機(jī)的同事,可以驗(yàn)證一下,驗(yàn)證后將結(jié)果發(fā)送給大家。

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

一、判斷網(wǎng)絡(luò)是否是wifi,在判斷之前一定要進(jìn)行的非空判斷,如果沒有任何網(wǎng)絡(luò)連接

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

二、判斷是否是手機(jī)網(wǎng)絡(luò)

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

手機(jī)網(wǎng)絡(luò)進(jìn)行詳細(xì)區(qū)分:

info.getSubtype() 這里使用 getSubtype(),不是 getType(),getType()返回的是0,或者1,是區(qū)分是手機(jī)網(wǎng)絡(luò)還是wifi

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

* NETWORK_TYPE_CDMA 網(wǎng)絡(luò)類型為CDMA
* NETWORK_TYPE_EDGE 網(wǎng)絡(luò)類型為EDGE
* NETWORK_TYPE_EVDO_0 網(wǎng)絡(luò)類型為EVDO0
* NETWORK_TYPE_EVDO_A 網(wǎng)絡(luò)類型為EVDOA
* NETWORK_TYPE_GPRS 網(wǎng)絡(luò)類型為GPRS
* NETWORK_TYPE_HSDPA 網(wǎng)絡(luò)類型為HSDPA
* NETWORK_TYPE_HSPA 網(wǎng)絡(luò)類型為HSPA
* NETWORK_TYPE_HSUPA 網(wǎng)絡(luò)類型為HSUPA
* NETWORK_TYPE_UMTS 網(wǎng)絡(luò)類型為UMTS

聯(lián)通的3G為UMTS或HSDPA,移動和聯(lián)通的2G為GPRS或EDGE,電信的2G為CDMA,電信的3G為EVDO

android獲取手機(jī)的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 "";
}

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android數(shù)據(jù)庫操作技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論