在Wifi下获取本地IP地址

做者:张佳棣html


代码核心介绍:java

WifiManager类提供了对设备Wifi功能的管理,包括Wifi开关的打开和关闭,IP地址获取等等,早期的Android版本甚至支持对于IP的设置。在这里仅介绍其简单的一个小应用——获取IP地址。android

 

首先先添加Uses-Permission:CHANGE_WIFI_STATE,WAKE_LOCK和ACCESS_WIFI_STATE。代码以下(AndroidManifest.xml):spa


<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状态 if(!wm.isWifiEnabled()) wm.setWifiEnabled(true); WifiInfo wi=wm.getConnectionInfo(); //获取32位整型IP地址 int ipAdd=wi.getIpAddress(); //把整型地址转换成“*.*.*.*”地址 String ip=intToIp(ipAdd); return ip; } private String intToIp(int i) { return (i & 0xFF ) + "." + ((i >> 8 ) & 0xFF) + "." + ((i >> 16 ) & 0xFF) + "." + ( i >> 24 & 0xFF) ; }