Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 獲取IP地址的實現方法

Android 獲取IP地址的實現方法

編輯:關於Android編程

Android 獲取IP地址

最近做項目,有一個需求是Android設備獲取當前IP的功能,經過一番查詢資料解決了,記錄下實現方法。

1.使用WIFI

首先設置用戶權限

<uses-permission Android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>

<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>

其次,代碼如下

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    

    //獲取wifi服務

    WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

    //判斷wifi是否開啟

    if (!wifiManager.isWifiEnabled()) {

    wifiManager.setWifiEnabled(true); 

    }

    WifiInfo wifiInfo = wifiManager.getConnectionInfo();   

    int ipAddress = wifiInfo.getIpAddress(); 

    String ip = intToIp(ipAddress); 

    EditText et = (EditText)findViewById(R.id.EditText01);

    et.setText(ip);

  }  

  private String intToIp(int i) {   

    

     return (i & 0xFF ) + "." +   

    ((i >> 8 ) & 0xFF) + "." +   

    ((i >> 16 ) & 0xFF) + "." +   

    ( i >> 24 & 0xFF) ;

   } 

2.使用GPRS

首先,設置用戶上網權限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

其次,代碼如下

public String getLocalIpAddress()

  {

    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())

          {

            return inetAddress.getHostAddress().toString();

          }

        }

      }

    }

    catch (SocketException ex)

    {

      Log.e("WifiPreference IpAddress", ex.toString());

    }

    return null;

  }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

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