
通过设备开通WiFi连接获取Mac地址是最可取的,代码如下:
/
设备开通WiFi连接,通过wifiManager获取Mac地址
/
public static String getMacFromWifi(Context context){
ConnectivityManager connectivityManager = (ConnectivityManager) contextgetSystemService(ContextCONNECTIVITY_SERVICE);
State wifiState = connectivityManagergetNetworkInfo(ConnectivityManagerTYPE_WIFI)getState();
if(wifiState == NetworkInfoStateCONNECTED){//判断当前是否使用wifi连接
WifiManager wifiManager = (WifiManager) contextgetSystemService(ContextWIFI_SERVICE);
if (!wifiManagerisWifiEnabled()) { //如果当前wifi不可用
wifiManagersetWifiEnabled(true);
}
WifiInfo wifiInfo = wifiManagergetConnectionInfo();
return wifiInfogetMacAddress();
}
return null;
}
打开Android手机,进入安卓手机的主界面,如下图(右图)所示。
点击手机的“MENU”键,d出Android系统的菜单栏,在菜单栏中点击“设置”进入系统的设置页面。
进入android系统设置界面后,显示如下图(右图)所示的内容,然后将页面滑动到最底部。
将页面滑动到最底部后,可以看到“关于手机”选项,点击进入该选项。
进入“关于手机”页面后,会出现如下图所示的界面,点击“状态消息”进入状态消息页面。
进入状态消息显示页面后,会显示如下图(右图)所示的界面,将页面滑动到最底部。
此时,在页面中就可以看到WiFi MAC地址了,如下图(右图)所示。
很简单,在设置里——进入WLAN设置,再按手机“menu”键,屏幕下方出现小界面有“高级”,进入“高级”,里面可以看到MAC地址或者设置里,进入关于手机,然后选硬件信息,里面也可以看到MAC地址,这个方法同样适用于其它的Android平台的手机
先关闭wifi,在运行以下java代码:
获取当前连接网络的网卡的mac地址
private static String parseByte(byte b) {
String s = "00" + IntegertoHexString(b)+":";
return ssubstring(slength() - 3);
}
/
获取当前系统连接网络的网卡的mac地址
@return
/
@SuppressLint("NewApi")
public static final String getMac() {
byte[] mac = null;
StringBuffer sb = new StringBuffer();
try {
Enumeration<NetworkInterface> netInterfaces = NetworkInterfacegetNetworkInterfaces();
while (netInterfaceshasMoreElements()) {
NetworkInterface ni = netInterfacesnextElement();
Enumeration<InetAddress> address = nigetInetAddresses();
android 中有 获取IP 和 MAC的方法例如获取Ip
public String GetHostIp() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface
getNetworkInterfaces(); enhasMoreElements();) {
NetworkInterface intf = ennextElement();
for (Enumeration<InetAddress> ipAddr = intfgetInetAddresses(); ipAddr
hasMoreElements();) {
InetAddress inetAddress = ipAddrnextElement();
if (!inetAddressisLoopbackAddress()) {
return inetAddressgetHostAddress();
}
}
}
} catch (SocketException ex) {
} catch (Exception e) {
}
return null;
}
MAC 就不列举了自行百度,但是你说的问题 让两台设备TCP通讯,如果是在局域网内,也就是用wifi,你获取ip 然后一个客户端一个服务器是可以连接成功的。但是如果用外网的话,就不是这么简单了。比如 我用android 作为客户端PC作为手机 如果手机用外网访问服务器,这就相当于外网访问内网服务器,需要在服务器进行配置 一、在路由器的转发规则设置映射 二、(这个有的情况不需要,例如,你的pc网络是铁通你的手机是移动卡,就不用第二部,如果你的手机是联通卡就需要这步)申请一个固定Ip 给客户打电话
以上就是关于如何使用Java代码获取Android移动终端Mac地址全部的内容,包括:如何使用Java代码获取Android移动终端Mac地址、怎么获取android手机的WiFi MAC地址、如何查看Android手机的Mac地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)