Android中获取本机ip地址和MAC地址
2013-01-24 10:52
405 查看
通过InetAddress.getLocalHost()得到始终是“127.0.0.1”,要想得到真正的网络ip地址要通过下面的方法:
首先新建一个工程,修改AndroidManifest.xml文件增加用户权限,如下:
<uses-permission
android:name="android.permission.INTERNET"/> //必写
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission
android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>//必写
<uses-permission
android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
主要函数代码如下:
// 得到本机ip地址
public
String getLocalHostIp()
{
String
ipaddress = "";
try
{
Enumeration<NetworkInterface>
en = NetworkInterface
.getNetworkInterfaces();
//
遍历所用的网络接口
while
(en.hasMoreElements())
{
NetworkInterface
nif = en.nextElement();// 得到每一个网络接口绑定的所有ip
Enumeration<InetAddress>
inet = nif.getInetAddresses();
//
遍历每一个接口绑定的所有ip
while
(inet.hasMoreElements())
{
InetAddress
ip = inet.nextElement();
if
(!ip.isLoopbackAddress()
&&
InetAddressUtils.isIPv4Address(ip
.getHostAddress()))
{
return
ipaddress = "本机的ip是" + ":" + ip.getHostAddress();
}
}
}
}
catch
(SocketException e)
{
Log.e("feige",
"获取本地ip地址失败");
e.printStackTrace();
}
return
ipaddress;
}
//
得到本机Mac地址
public
String getLocalMac()
{
String
mac = "";
//
获取wifi管理器
WifiManager
wifiMng = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo
wifiInfor = wifiMng.getConnectionInfo();
mac
= "本机的mac地址是:" + wifiInfor.getMacAddress();
return
mac;
}
首先新建一个工程,修改AndroidManifest.xml文件增加用户权限,如下:
<uses-permission
android:name="android.permission.INTERNET"/> //必写
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission
android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>//必写
<uses-permission
android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
主要函数代码如下:
// 得到本机ip地址
public
String getLocalHostIp()
{
String
ipaddress = "";
try
{
Enumeration<NetworkInterface>
en = NetworkInterface
.getNetworkInterfaces();
//
遍历所用的网络接口
while
(en.hasMoreElements())
{
NetworkInterface
nif = en.nextElement();// 得到每一个网络接口绑定的所有ip
Enumeration<InetAddress>
inet = nif.getInetAddresses();
//
遍历每一个接口绑定的所有ip
while
(inet.hasMoreElements())
{
InetAddress
ip = inet.nextElement();
if
(!ip.isLoopbackAddress()
&&
InetAddressUtils.isIPv4Address(ip
.getHostAddress()))
{
return
ipaddress = "本机的ip是" + ":" + ip.getHostAddress();
}
}
}
}
catch
(SocketException e)
{
Log.e("feige",
"获取本地ip地址失败");
e.printStackTrace();
}
return
ipaddress;
}
//
得到本机Mac地址
public
String getLocalMac()
{
String
mac = "";
//
获取wifi管理器
WifiManager
wifiMng = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo
wifiInfor = wifiMng.getConnectionInfo();
mac
= "本机的mac地址是:" + wifiInfor.getMacAddress();
return
mac;
}
相关文章推荐
- Android 获取网络状态,IP地址,MAC地址
- Android获取手机及路由器的Mac地址和IP地址
- Android获取设备ip地址和Mac地址
- Android获取手机IP地址 WIFI MAC地址
- Android系统信息获取 之七:获取IP地址和MAC地址
- android获取Mac地址和IP地址
- Android中获取本机ip地址和MAC地址
- android 获取手机上面的IMSI序列号,IMEI,MAC地址,IP地址,当前时间,当前经纬度,获取网络类型
- Android 获取Mac地址和IP地址
- (转)android获取Mac地址和IP地址
- android 获取ip地址和mac地址的多种方式
- android获取IP地址和MAC地址的方法
- Android获取手机WiFi IP地址,MAC地址和网关地址程序实例
- android 获取ip地址和mac地址的多种方式
- android 获取当前设备的ip地址 mac地址 设备号 手机号 运营商信息
- Android获取WIFI状态下的IP地址以及MAC地址
- android程序获取WIFI的IP地址和MAC地址
- android获取Mac地址和IP地址
- Android获取手机及路由器的Mac地址和IP地址
- Android系统信息获取 之七:获取IP地址和MAC地址