微软官方MSDN原版Win11系统下载

当前位置:首页>>Mac系统

安卓系统层获取mac地址 获取android设备的wifi-mac地址

软件大小:

软件语言:

浏览人数:416人

软件类型:

授权方式:

用户评分:

更新时间:2022-11-17

软件分类:Mac系统

运行环境:

Mac系统

背景:

最近在做一个使用wifi-p2p传输文件的app,通过扫描二维码建立wifi-p2p连接。具体步骤如下:

1、设备A使用自己的mac地址生成二维码;

2、设备B扫描上面设备A的二维码,获取待连接设备A的mac地址;

3、设备B搜索周围可连接的设备,如果某个设备的mac地址与上面获取到的A的mac地址一致,则请求连接该设备。

之后还有app的一系列其他流程,与本文无关,在此不再赘述。

问题:

安卓系统层获取mac地址

然而,事实并没有想象中那么顺利。在获取A设备本身的mac地址时,我使用了读取如下文件的方法:

"cat /sys/class/net/wlan0/address "

这样获取到的A设备本身的mac地址与手机“设置”->“wifi”中看到的mac地址是一样的,结果为:78:02:f8:2d:4b:ca

但是问题就出来了安卓系统层获取mac地址,当我通过B设备扫描周围的设备获取A设备的对象,然后使用的时候。得到的A的mac地址是:78:02:f8:2d:4b:c9,我去,这个结果和A前面读到的不一样。这样扫描二维码后,无法匹配到正确的二维码,无法建立连接。

解决:

修改A获取自己mac地址的方式为通过系统广播获取:

case WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION:
    WifiP2pDevice thisDevice =
            intent.getParcelableExtra(WifiP2pManager.EXTRA_WIFI_P2P_DEVICE);

安卓系统层获取mac地址

String selfMac = thisDevice.deviceAddress;

注册“.”后 ,可以通过上面的代码获取到设备本身的mac地址。这个mac地址是:78:02:f8:2d:4b:c9安卓系统层获取mac地址安卓系统层获取mac地址,可以和扫描的二维码正确匹配。

笔记:

关于为什么设备A本身的mac地址和它暴露给其他设备的mac地址不一样,有知道这个问题的朋友不吝赐教;

我没写过博客,如果觉得不好,请不要喷。

本系统及软件只用于个人封装技术研究交流使用,不得用于商业用途,且本站不承担任何技术及版权问题,请在试用后24小时内删除!

下载地址

Mac系统排行榜

U盘装系统排行榜

更多>>

系统教程排行榜

更多>>

公众号