Android開(kāi)發(fā)實(shí)現(xiàn)在Wifi下獲取本地IP地址的方法
本文實(shí)例講述了Android開(kāi)發(fā)實(shí)現(xiàn)在Wifi下獲取本地IP地址的方法。分享給大家供大家參考,具體如下:
代碼核心介紹:
WifiManager類提供了對(duì)設(shè)備Wifi功能的管理,包括Wifi開(kāi)關(guān)的打開(kāi)和關(guān)閉,IP地址獲取等等,早期的Android版本甚至支持對(duì)于IP的設(shè)置。在這里僅介紹其簡(jiǎn)單的一個(gè)小應(yīng)用——獲取IP地址。
首先先添加Uses-Permission:CHANGE_WIFI_STATE,WAKE_LOCK和ACCESS_WIFI_STATE。代碼如下(AndroidManifest.xml):
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
JAVA代碼:
private String getIp(){
WifiManager wm=(WifiManager)getSystemService(Context.WIFI_SERVICE);
//檢查Wifi狀態(tài)
if(!wm.isWifiEnabled())
wm.setWifiEnabled(true);
WifiInfo wi=wm.getConnectionInfo();
//獲取32位整型IP地址
int ipAdd=wi.getIpAddress();
//把整型地址轉(zhuǎn)換成“*.*.*.*”地址
String ip=intToIp(ipAdd);
return ip;
}
private String intToIp(int i) {
return (i & 0xFF ) + "." +
((i >> 8 ) & 0xFF) + "." +
((i >> 16 ) & 0xFF) + "." +
( i >> 24 & 0xFF) ;
}
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android硬件相關(guān)操作與應(yīng)用總結(jié)》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》、《Android開(kāi)發(fā)入門與進(jìn)階教程》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- 解決Android 6.0獲取wifi Mac地址為02:00:00:00:00:00問(wèn)題
- Android編程獲取Wifi名稱(SSID)的方法
- Android獲取周圍WIFI熱點(diǎn)服務(wù)
- Android獲取當(dāng)前手機(jī)網(wǎng)絡(luò)類型(2g、3g、4g、wifi)以及手機(jī)型號(hào)、版本號(hào)代碼
- Android編程實(shí)現(xiàn)獲取當(dāng)前連接wifi名字的方法
- Android獲取當(dāng)前已連接的wifi信號(hào)強(qiáng)度的方法
- android連接wifi時(shí)獲取廣播地址代碼
- Android獲取wifi列表的方法
相關(guān)文章
android開(kāi)發(fā)教程之wifi開(kāi)發(fā)示例
這篇文章主要介紹了android開(kāi)發(fā)教程之wifi開(kāi)發(fā)示例,需要的朋友可以參考下2014-03-03
淺談Android硬件加速原理與實(shí)現(xiàn)簡(jiǎn)介
這篇文章主要介紹了淺談Android硬件加速原理與實(shí)現(xiàn)簡(jiǎn)介,本文嘗試從底層硬件原理,一直到上層代碼實(shí)現(xiàn),對(duì)硬件加速技術(shù)進(jìn)行簡(jiǎn)單介紹,感興趣的小伙伴們可以參考一下2018-07-07
基于android實(shí)現(xiàn)五子棋開(kāi)發(fā)
這篇文章主要為大家詳細(xì)介紹了基于android實(shí)現(xiàn)五子棋開(kāi)發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02
android下拉刷新ListView的介紹和實(shí)現(xiàn)代碼
在當(dāng)下,列表組件不帶下拉刷新的都不好意思叫列表。第一次完成列表的下拉刷新功能的時(shí)候,直接在Activity中實(shí)現(xiàn),雖然功能上是實(shí)現(xiàn)了,總體上感覺(jué)很亂。所以第二次用到的時(shí)候,就想著封裝成一個(gè)組件,實(shí)現(xiàn)和Activity的解耦。2013-04-04
詳解Retrofit2.0 公共參數(shù)(固定參數(shù))
這篇文章主要介紹了Retrofit2.0 公共參數(shù)(固定參數(shù)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
android中使用react-native設(shè)置應(yīng)用啟動(dòng)頁(yè)過(guò)程詳解
這篇文章主要介紹了android中使用react-native設(shè)置應(yīng)用啟動(dòng)頁(yè)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Android Jetpack組件庫(kù)LiveData源碼深入探究
LiveData是Jetpack組件的一部分,更多的時(shí)候是搭配ViewModel來(lái)使用,相對(duì)于Observable,LiveData的最大優(yōu)勢(shì)是其具有生命感知的,換句話說(shuō),LiveData可以保證只有在組件( Activity、Fragment、Service)處于活動(dòng)生命周期狀態(tài)的時(shí)候才會(huì)更新數(shù)據(jù)2022-09-09
Android自定義View實(shí)現(xiàn)字母導(dǎo)航欄
通常手機(jī)通訊錄都會(huì)有索引欄,這篇文章主要介紹了Android自定義View實(shí)現(xiàn)字母導(dǎo)航欄,現(xiàn)在分享給大家。2016-10-10

