如何使用Java代码获取Android移动终端Mac地址

如何使用Java代码获取Android移动终端Mac地址,第1张

通过设备开通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地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9640721.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存