Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android高手進階教程(十一)之----Android 通用獲取Ip的方法(判斷手機是否聯網的方法)

Android高手進階教程(十一)之----Android 通用獲取Ip的方法(判斷手機是否聯網的方法)

編輯:Android開發實例

大家好,我們這一節講一下,Android獲取Ip的一些方法,在我們開發中,有判斷手機是否聯網,或者想獲得當前手機的Ip地址,當然WIFI連接的和

我們3G卡的Ip地址當然是不一樣的.

首先我嘗試了如下方法:

 

  1. WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);  
  2. WifiInfo wifiInfo = wifiManager.getConnectionInfo();  
  3. int ipAddress = wifiInfo.getIpAddress(); 

但是獲得的居然是一個整數,我嘗試了用些數學方法都沒有成功!,所以這種方法不可取!

最後查了一些資料,發現如下方法是比較通用的,我嘗試了WIFI和G3卡,都獲取了爭取的Ip地址:代碼如下:

 

  1. public String getLocalIpAddress() {  
  2.     try {  
  3.         for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {  
  4.             NetworkInterface intf = en.nextElement();  
  5.             for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {  
  6.                 InetAddress inetAddress = enumIpAddr.nextElement();  
  7.                 if (!inetAddress.isLoopbackAddress()) {  
  8.                     return inetAddress.getHostAddress().toString();  
  9.                 }  
  10.             }  
  11.         }  
  12.     } catch (SocketException ex) {  
  13.         Log.e(LOG_TAG, ex.toString());  
  14.     }  
  15.     return null;  

當我的手機處於飛行狀態是,獲得Ip地址為空,剛好符合要求!!!

希望對大家有所幫助!謝謝~

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