在Wifi下获取本地IP地址

作者:张佳棣


代码核心介绍:

WifiManager类提供了对设备Wifi功能的管理,包括Wifi开关的打开和关闭,IP地址获取等等,早期的Android版本甚至支持对于IP的设置。在这里仅介绍其简单的一个小应用——获取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状态
	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) ;
}

你可能感兴趣的:(android,String,service,Access)