日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php获取手机的mac地址,Android手机获取Mac地址的方法

發布時間:2025/3/12 php 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php获取手机的mac地址,Android手机获取Mac地址的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[導讀]這篇文章主要為大家詳細介紹了Android手機獲取Mac地址的方法,具有一定的參考價值

最常用的方法,通過WiFiManager獲取:/**

*?通過WiFiManager獲取mac地址

*?@param?context

*?@return

*/

private?static?String?tryGetWifiMac(Context?context)?{

WifiManager?wm?=?(WifiManager)?context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);

WifiInfo?wi?=?wm.getConnectionInfo();

if?(wi?==?null?||?wi.getMacAddress()?==?null)?{

return?null;

}

if?("02:00:00:00:00:00".equals(wi.getMacAddress().trim()))?{

return?null;

}?else?{

return?wi.getMacAddress().trim();

}

}

這個方法Android 7.0是獲取不到的,返回的是null,其實是返回“02:00:00:00:00:00”

根據本地IP獲取:/**

*?根據IP地址獲取MAC地址

*

*?@return

*/

private?static?String?getLocalMacAddressFromIp()?{

String?strMacAddr?=?null;

try?{

//獲得IpD地址

InetAddress?ip?=?getLocalInetAddress();

byte[]?b?=?NetworkInterface.getByInetAddress(ip).getHardwareAddress();

StringBuffer?buffer?=?new?StringBuffer();

for?(int?i?=?0;?i?

if?(i?!=?0)?{

buffer.append(':');

}

String?str?=?Integer.toHexString(b[i]?&?0xFF);

buffer.append(str.length()?==?1???0?+?str?:?str);

}

strMacAddr?=?buffer.toString().toUpperCase();

}?catch?(Exception?e)?{

}

return?strMacAddr;

}

/**

*?獲取移動設備本地IP

*

*?@return

*/

private?static?InetAddress?getLocalInetAddress()?{

InetAddress?ip?=?null;

try?{

//列舉

Enumeration?en_netInterface?=?NetworkInterface.getNetworkInterfaces();

while?(en_netInterface.hasMoreElements())?{//是否還有元素

NetworkInterface?ni?=?(NetworkInterface)?en_netInterface.nextElement();//得到下一個元素

Enumeration?en_ip?=?ni.getInetAddresses();//得到一個ip地址的列舉

while?(en_ip.hasMoreElements())?{

ip?=?en_ip.nextElement();

if?(!ip.isLoopbackAddress()?&&?ip.getHostAddress().indexOf(":")?==?-1)

break;

else

ip?=?null;

}

if?(ip?!=?null)?{

break;

}

}

}?catch?(SocketException?e)?{

e.printStackTrace();

}

return?ip;

}

這個方法Android 7.0及其以下版本都可以獲取到。

根據網絡接口獲取:/**

*?通過網絡接口取

*?@return

*/

private?static?String?getNewMac()?{

try?{

List?all?=?Collections.list(NetworkInterface.getNetworkInterfaces());

for?(NetworkInterface?nif?:?all)?{

if?(!nif.getName().equalsIgnoreCase("wlan0"))?continue;

byte[]?macBytes?=?nif.getHardwareAddress();

if?(macBytes?==?null)?{

return?null;

}

StringBuilder?res1?=?new?StringBuilder();

for?(byte?b?:?macBytes)?{

res1.append(String.format("%02X:",?b));

}

if?(res1.length()?>?0)?{

res1.deleteCharAt(res1.length()?-?1);

}

return?res1.toString();

}

}?catch?(Exception?ex)?{

ex.printStackTrace();

}

return?null;

}

注意網絡接口的Name有跟多:dummy0、p2p0、wlan0....其中wlan0就是我們需要WiFi mac地址。這個方法Android 7.0及其以下版本都可以獲取到。

總結

以上是生活随笔為你收集整理的php获取手机的mac地址,Android手机获取Mac地址的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。