在Wifi下获取本地IP地址
2012-05-02 09:42
411 查看
作者:张佳棣
代码核心介绍:
WifiManager类提供了对设备Wifi功能的管理,包括Wifi开关的打开和关闭,IP地址获取等等,早期的Android版本甚至支持对于IP的设置。在这里仅介绍其简单的一个小应用——获取IP地址。
首先先添加Uses-Permission:CHANGE_WIFI_STATE,WAKE_LOCK和ACCESS_WIFI_STATE。代码如下(AndroidManifest.xml):
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) ;
}
代码核心介绍:
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开发实现在Wifi下获取本地IP地址的方法
- 在WIFI下获取本地IP地址
- 使用InterAddress类获取本地主机的本地名和IP地址
- Qt获取本地ip地址
- python获取本地ip地址的方法
- 获取本地IP地址
- 转载:Android 获取wifi的IP地址
- 获取数据库连接字符串及本地数据库IP地址
- java根据IP地址获取本地定位
- Lua获取本地IP地址
- iOS 获取本地IP地址
- 获取iOS设备信息(内存/电量/容量/型号/IP地址/当前WIFI名称)
- C#获取本地连接IP地址
- java 获取本地机器外网的IP地址
- iOS获取本机wifi的IP地址
- 获取本地主机名和IP地址
- C#获取本地IP地址[常用代码段]
- Android获取wifi的IP地址
- 关于获取android的wifi-ip地址
- MFC编程实现主机名及本地IP地址的获取