在Wifi下获取本地IP地址
代码核心介绍:
WifiManager类提供了对设备Wifi功能的管理,包括Wifi开关的打开和关闭,IP地址获取等等,早期的Android版本甚至支持对于IP的设置。在这里仅介绍其简单的一个小应用——获取IP地址。
首先先添加Uses-Permission:CHANGE_WIFI_STATE,WAKE_LOCK和ACCESS_WIFI_STATE。代码如下(AndroidManifest.xml):
[html] <span style="font-size:16px;"><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"/>
</span>
<span style="font-size:16px;"><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"/>
</span>
[java] <span style="font-size:16px;">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) ;
}
</span>
摘自 北京大学-Google Android实验室
补充:移动开发 , Android ,