標籤:android c style class blog code
通過InetAddress.getLocalHost()得到始終是“127.0.0.1”,要想得到真正的網路ip地址要通過下面的方法:
首先建立一個工程,修改AndroidManifest.xml檔案增加使用者權限,如下:
<uses-permission android:name="android.permission.INTERNET"/> <!--必寫--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!--必寫—>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
主要函數代碼如下:
// 得到本機ip地址 public String getLocalHostIp() { String ipaddress = ""; try { Enumeration<NetworkInterface> en = NetworkInterface .getNetworkInterfaces(); // 遍曆所用的網路介面 while (en.hasMoreElements()) { NetworkInterface nif = en.nextElement();// 得到每一個網路介面綁定的所有ip Enumeration<InetAddress> inet = nif.getInetAddresses(); // 遍曆每一個介面綁定的所有ip while (inet.hasMoreElements()) { InetAddress ip = inet.nextElement(); if (!ip.isLoopbackAddress() && InetAddressUtils.isIPv4Address(ip .getHostAddress())) { return ipaddress = "原生ip是" + ":" + ip.getHostAddress(); } } } } catch (SocketException e) { Log.e("feige", "擷取本地ip地址失敗"); e.printStackTrace(); } return ipaddress; } // 得到本機Mac地址 public String getLocalMac() { String mac = ""; // 擷取wifi管理器 WifiManager wifiMng = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfor = wifiMng.getConnectionInfo(); mac = "原生mac地址是:" + wifiInfor.getMacAddress(); return mac; }
我是天王蓋地虎的分割線
原始碼:http://pan.baidu.com/s/1dD1Qx01
擷取MAC地址.zip
轉載請註明出處:http://www.cnblogs.com/yydcdut/p/3759968.html
參考:http://blog.sina.com.cn/s/blog_7ffb8dd501012z0v.html