android實現(xiàn)獲取有線和無線Ip地址的方法
更新時間:2015年08月07日 18:11:44 作者:Adam Viki
這篇文章主要介紹了android實現(xiàn)獲取有線和無線Ip地址的方法,較為詳細的分析了Android獲取IP地址的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了android實現(xiàn)獲取有線和無線Ip地址的方法。分享給大家供大家參考。具體如下:
做android的開發(fā)時,遇到了獲取有線ip地址的問題.不多說 上代碼!
for (Enumeration<NetworkInterface> en = NetworkInterface
.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
if (intf.getName().toLowerCase().equals("eth0") || intf.getName().toLowerCase().equals("wlan0")) {
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
ipaddress = inetAddress.getHostAddress().toString();
if(!ipaddress.contains("::")){//ipV6的地址
return ipaddress;
}
}
}
} else {
continue;
}
}
分析:
先看這段代碼:
復制代碼 代碼如下:
intf.getName().toLowerCase().equals("eth0") || intf.getName().toLowerCase().equals("wlan0")
這里表示:僅過濾無線和有線的ip. networkInterface是有很多的名稱的 比如sim0,remt1.....等等.我不需要用到就直接過濾了
再看這段:
復制代碼 代碼如下:
if(!ipaddress.contains("::")){//ipV6的地址
這里表示: 過濾掉ipv6的地址.不管無線還是有線 都有這個地址, 我這邊顯示地址大體是:fe80::288:88ff:fe00:1%eth0 fe80::ee17:2fff:fece:c0b4%wlan0 一般都是出現(xiàn)在第一次循環(huán).第二次循環(huán)就是真正的ipv4的地址.
希望本文所述對大家的Android程序設計有所幫助。
您可能感興趣的文章:
- Android開發(fā)獲取手機內網IP地址與外網IP地址的詳細方法與源碼實例
- Android獲得設備狀態(tài)信息、Mac地址、IP地址的方法
- Android中使用adb命令通過IP地址連接手機
- Android實現(xiàn)IP地址輸入框的方法示例代碼
- Android開發(fā)實現(xiàn)在Wifi下獲取本地IP地址的方法
- Android 判斷ip地址合法實現(xiàn)代碼
- Android 獲取IP地址的實現(xiàn)方法
- android 獲取本機的IP地址和mac物理地址的實現(xiàn)方法
- Android手機獲取IP地址的兩種方法
- Android開發(fā)準確獲取手機IP地址的兩種方式
相關文章
Android中實現(xiàn)基本的短信攔截功能的代碼示例
這篇文章主要介紹了Android中實現(xiàn)基本短信攔截功能的代碼示例,這里之突出核心部分針對一個號碼,當然程序擴充后可以制定更多攔截規(guī)則,需要的朋友可以參考下2016-04-04
android service實現(xiàn)循環(huán)定時提醒功能
這篇文章主要為大家詳細介紹了android service實現(xiàn)循環(huán)定時提醒功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01

