獲取MAC地址,我可以用這個C代碼獲取MAC地址:如何在Android原生代碼
struct ifreq s;
char buffer[12 + 1];
int fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
int i, j;
memset(buffer, 0 , sizeof(buffer));
strcpy(s.ifr_name, "wlan0");
if (0 == ioctl(fd, SIOCGIFHWADDR, &s)) {
memcpy(mac, s.ifr_addr.sa_data, 6);
return 1;
}
我想在Android中獲得MAC地址。但是這個代碼不給MAC地址。 if (0 == ioctl(fd, SIOCGIFHWADDR, &s)
總是錯誤的。
我發現https://groups.google.com/d/msg/android-ndk/6Y-0Eid3mGw/6bFvtap8xJIJ
一個代碼,但這個代碼給出了錯誤:
ioctl(SIOCGIFHWADDR) error
,它給像00:00:00:7C::00:01
錯誤的MAC地址,我如何能在Android原生代碼獲取MAC地址?
僅供參考,使用此之前版本的Android M工作,考慮讓它在Java和傳遞。請參閱http://stackoverflow.com/questions/33159224/getting-mac-address-in-android-6-0(第五回答下降作品) – Michael