您的位置:首页 > 移动开发 > Android开发

Android获取手机IP地址 WIFI MAC地址

2017-01-06 11:40 423 查看
获取手机IP地址

第一步:添加权限

<uses-permission android:name="android.permission.INTERNET"/>


第二步:上代码

2333

private String getIP() {
String IP = "";
StringBuilder IPStringBuilder = new StringBuilder();
try {
Enumeration<NetworkInterface> networkInterfaceEnumeration = NetworkInterface.getNetworkInterfaces();
while (networkInterfaceEnumeration.hasMoreElements()) {
NetworkInterface networkInterface = networkInterfaceEnumeration.nextElement();
Enumeration<InetAddress> inetAddressEnumeration = networkInterface.getInetAddresses();
while (inetAddressEnumeration.hasMoreElements()) {
InetAddress inetAddress = inetAddressEnumeration.nextElement();
if (!inetAddress.isLoopbackAddress()
&& !inetAddress.isLinkLocalAddress()
&& inetAddress.isSiteLocalAddress()) {
IPStringBuilder.append(inetAddress.getHostAddress().toString() + "\n");
}
}
}
} catch (SocketException ex) {
}
IP = IPStringBuilder.toString();
if (IP.indexOf("\n1") > 0) {
IP = IP.substring(0, IP.indexOf("\n1"));
}
//返回一个XXX.XXX.xxx.xxx格式的IP地址
return IP;
}


获取MAC地址

获取MAC地址。是通过WIFIManager获取的。

WifiManager WiFi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo info = WiFi.getConnectionInfo();
//通过wifiinfo获取获取到MAC地址了
String ssid = (info .getSSID() == "<unknown ssid>" ? "无连接WIFI" : info .getSSID());
if (!CommonUtils.isEmpty(ssid)) {
ToastShow.showToast("正在连接:" + ssid);
String data=
"MAC地址 = "+info .getMacAddress()+"\n"
+"信号强度 = "+info .getRssi()+"\n"
+"正在连接 = "+ ssid +"\n"
+"getBSSID = "+info .getBSSID()+"\n";


其中getSSID得到的是连接到WIFI的名字。getBSSID得到的是十六进制字符串?有知道的同志留言评论的告诉我一下呗。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 手机 wi-fi mac