android mac 地址 7.0,Android 获取 手机本机 MAC 地址 支持 所有 Android 版本

Native.js 获取Android 手机 MAC 物理地址, Android 版本众多,之前的方法已经不支持最新的版本获取MAC地址

在Android 6.0 之前可以获取MAC 方法,到了6.0版本后,不再支持此方法获取MAC地址了。

此方法,支持移动网络下获取MAC地址var Context = plus.android.importClass("android.content.Context");

var WifiManager = plus.android.importClass("android.net.wifi.WifiManager");

var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);

var WifiInfo = plus.android.importClass("android.net.wifi.WifiInfo");

var wifiInfo = wifiManager.getConnectionInfo();

wifiInfo.getMacAddress();

Android 6.0之后动态授权对隐私保护高了, 采用的获取MAC 的方法是读取 /sys/class/net/wlan0/address ,

此方法有些型机,只能在WIFI开启的状态下才能获取到MAC 地址var BufferedReader=plus.android.importClass("java.io.BufferedReader");

var FileReader=plus.android.importClass("java.io.FileReader");

var file=new FileReader("/sys/class/net/wlan0/address");

var reader = new BufferedReader(file,256);

var address=reader.readLine();

reader.close();

Android 7.0 +  以上的方法也都没用了,谷歌对隐私要求更严格了,禁止读取/sys/class/net/wlan0/address 了, 但还是有方法读取到MAC , 采用的是 NetworkInterface 对端口扫描 读取到 wlan0 的值,它就是MAC地址了。

此方法有些型机,只能在WIFI开启的状态下才能获取到MAC 地址var NetworkInterface=plus.android.importClass("java.net.NetworkInterface");

var networkInterface = NetworkInterface.getByName("eth1");

networkInterface = NetworkInterface.getByName("wlan0");

var mac=networkInterface.getHardwareAddress();

写了一个获取 MAC 的插件,封装了以上三种方法一起,可以获取所有机型的MAC的地址。

在附件下载, 获得 MacAddress.js 引到 页面就可以 ,通过以下方法,可以获得MAC 地址。mui.plusReady(function()

{

var address=Mac.address();

});

如果返回:02:00:00:00:00:00 ,说明获取失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值