首先,要在AndroidManifest.xml文件中添加权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
ACCESS_WIFI_STATE权限可以获取使用Wi-Fi等WLAN无线网络;CHANGE_WIFI_STATE权限是改变WLAN状态的开关,如果打开或关闭Wi-Fi必需加入android.permission.CHANGE_WIFI_STATE的声明。
然后在程序中使用以下代码就可以获取到wifi服务使用wifi了:
//获取wifi服务
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
//判断wifi是否开启
if (!wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(true);
}
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
String hostip = intToIp(ipAddress);
//将获取的int数据转为真正的ip地址
private String intToIp(int i) {
return (i & 0xFF ) + "." + ((i >> 8 ) & 0xFF) + "." + ((i >> 16 ) & 0xFF)
+ "." + ( i >> 24 & 0xFF) ;
}