获取WiFi MAC地址总结
今天对MAC地址的获取做了一些学习,目前网上获取MAC地址的方法主要如下:
- 使用busybox ifconfig
- 使用cat /sys/class/net/wlan0/address
- 使用WifiInfo.getMacAddress
- 使用NetworkInterface.getHardwareAddress
在飞行模式下,基本所有方法都不可用。
BusyBox ifconfig
并不是所有的机器都装了busybox,所以,使用busybox的兼容性比较差。这个可以使用android终端命令netcfg来代替(最后一列就是MAC地址):
cat /sys/class/net/wlan0/address
这种方法是通过读取网卡驱动提供的MAC地址信息,一般比较可靠,但是同busybox ifconfig或netcfg一样,需要手动解析返回的字符串。
WifiInfo.getMacAddress
WifiManager wifiManager=(WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo=wifiManager.getConnectionInfo();
String mac=wifiInfo.getMacAddress();
这种方法比较通用,原来一直用这个,但是最近发现,在Android 6.0系统上,这个方法失效了,返回了”02:00:00:00:00:00”的常量,网上有人说是权限问题,但是已经把所有权限都打开了,还是返回这个值,可能是一个bug,或许在将来这个问题会被修复。
网友提示后,发现这并不是一个BUG,在google的博客中找到如下一段话:
Most notably, Local WiFi and Bluetooth MAC addresses are no longer available. The getMacAddress() method of a WifiInfo object and the BluetoothAdapter.getDefaultAdapter().getAddress() method will both return 02:00:00:00:00:00 from now on.
NetworkInterface.getHardwareAddress
这个是我目前使用的方法,其原理和cat /sys/class/net/wlan0/address是一模一样的,但是这个是上层API,不需要自己处理底层数据。在Android 6.0上测试通过。
networkInterface = NetworkInterface.getByName("wlan0");
return ConvertMacAddressBytesToString(networkInterface.getHardwareAddress());
获取WiFi MAC地址总结相关推荐
- 如何正确获取 wifi mac地址
获取wifi mac地址 今日研读讯飞 AIUI SDK 对其工具类的实现 进行一下简单记录 正式版本中使用的功能 值得我们借鉴 getWifiMac 为每一个设备设置对应唯一的SN(最好使用设备硬件 ...
- java如何获得wlan mac_Android M 如何获取 Wifi MAC地址
今天在撸代码时发现,之前能获取mac地址的方法在nexus 6上返回了"02:00:00:00:00:00",进入设置查看mac地址,结果不相同,肯定有问题,于是就开始上网查资料一 ...
- android获取wifi mac地址吗,Android 获取WIFI MAC地址的方法
1. 经常用法,调用Android的API:WifiManager WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SER ...
- android获取wifi mac地址吗,Android获取当前WiFi的MAC地址-适配所有版本
** Android获取当前WiFi的MAC地址 ** package com.dogness.platform.utils; import android.content.Context; impo ...
- Android~获取WiFi MAC地址和IP方法汇总
最近由于项目需求,需要获取手机WiFi的MAC地址和IP,于是乎网上搜罗了一波.各种版本的都有,各种方法都有,而且安卓6.0以下.6.0~7.0.7.0以上版本差异都很大!在这里我就集中给归一下类,方 ...
- Android 8.1 获取wifi mac地址方法
安卓8.1更新了获取WIFI地址的方法,使用之前的方法获取不到地址 private String getWifiMacAddress() {String str = "";Stri ...
- android 获取网卡mac_在安卓6.0(及以上)设备上无法获取无线网卡MAC地址的解决方案...
在安卓6.0以下的设备上,通过WifiManager.getConnectionInfo().getMacAddress()即可获取WLAN物理地址, 而在6.0及以上,以此方式获取到的MAC地址为固 ...
- Android11 Wifi Mac地址设置随机或者固定分析
Android11 Wifi Mac地址设置随机或者固定分析 本文对Android11 wifi MAC地址设置是否随机问题进行分析. 文章目录 Android11 Wifi Mac地址设置随机或者固 ...
- android+手机mac地址,Android 获取手机Mac地址,手机名称
/** * 获取手机mac地址 * 错误返回12个0 */ public static String getMacAddress(Context context) { // 获取mac地址: Stri ...
最新文章
- 冰球项目开发日志(一)
- Register-SPWorkflowService 远程服务器返回错误: (404) 未找到
- 浅谈Nginx负载均衡与F5(硬件)的区别
- VerbalExpressions
- android 自定义窗口,Android studio如何自定义设置窗口布局?
- 学点PYTHON基础的东东--数据结构,算法,设计模式---观察者模式
- jmeter录制脚本(Mac)
- KEIL MDK中的RO、RW和ZI DATA理解及KEIL中ROM和RAM使用大小计算
- 阿里云网站备案时变更备案的问题解决总结 满满干货
- suse linux 添加网卡驱动,图文并茂介绍suse linux 11系统安装全过程以及suse系统下安装网卡驱动和刷新固件.doc...
- 优质数据平台如何打造?从网易云音乐看内容生态的运营法则
- 该网页无法正常运作解决方法
- ios 内存深度优化_iPhone6用1GB内存 优化太好还是另有玄机
- 阿里宣布组织大变动:集团迎来首位 80 后 CTO、张勇亲自挂帅阿里云!
- 【疑难杂症】allennlp安装报错:Installing build dependencies ... error
- 连用形,连体型 详解
- 电商、流量平台分析指标
- Latex 篇章结构 特殊字符
- 有道云免会员更换背景图
- PaloAlto主备实现高可用性的先决条件
热门文章
- 网站关键词优化应该先优化首页还是优化内页?
- jpa级联添加_请教一个JPA多对多级联保存的问题
- JAVA/C语言在线刷题-应声虫
- keil4怎么移植其他人的程序_遗传性脱发怎么自救,头发稀少掉发的原因?怎么办?...
- flutter入门之理解Isolate及compute ——解决耗时操作卡住UI的问题
- 三星总裁强硬回应华为,未来十年三星依然领先!
- 2022年度电商“三巨头”阿里,京东,拼多多的“暗战”
- Android7.0持久化技术
- LINUX培训课程!
- k8s之ingress