1***@qq.com
1***@qq.com
  • 发布:2019-10-28 11:35
  • 更新:2021-12-13 11:57
  • 阅读:2560

uni-app 获取手机的mac安卓

分类:Native.js

uni-app怎么获取手机的mac地址 网上找了很多方法 安卓低版本可以使用,但是高版本获取出来的mac地址是02:00:00:00:00:00,求大神帮助

2019-10-28 11:35 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

getMacAddress: function(){  
                var that=this;  
                var macAddress = null;  
                if (plus.os.name == 'Android') {  
                    console.log("plus.os.version",plus.os.version)  
                    if(plus.os.version>=6.0){  
                        var StringBuffer = plus.android.importClass("java.lang.StringBuffer");  
                        var buf = new StringBuffer();  
                        var NetworkInterface = plus.android.importClass("java.net.NetworkInterface");  
                        var networkInterface = null;  
                        try {  
                            networkInterface = NetworkInterface.getByName("eth1");  
                            if (networkInterface == null) {  
                                networkInterface = NetworkInterface.getByName("wlan0");  
                            }  
                            if (networkInterface == null) {  
                                return "02:00:00:00:00:02";  
                            }  
                            var addr = networkInterface.getHardwareAddress();  
                            console.log("addr", addr);  

                            for (let i = 0; i < addr.length; i++) {  
                                if (addr[i] > 0) {  
                                    let str = Number(addr[i]).toString(16).toUpperCase();  
                                    buf.append(str.length == 1 ?"0"+ str+":":str+":");  
                                } else {  
                                    let str = Number(256 + addr[i]).toString(16).toUpperCase();  
                                    buf.append(str.length == 1 ?"0"+str+":":str+":");  
                                }  
                            }  
                            if (buf.length() > 0) {  
                                buf.deleteCharAt(buf.length() - 1);  
                            }  
                            macAddress = buf.toString();  
                            console.log("macAddress >=6.0", macAddress);  
                        } catch (err) {  
                            console.log("err", err);  
                        }  
                    }  
                    if(plus.os.version<6.0){  
                            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();  
                            var macAddress = wifiInfo.getMacAddress();  
                            console.log("macAddress <6.0", macAddress);  
                    }                     
                    sendMac=(macAddress!=null?macAddress:"");  
                }  
            },
1***@qq.com

1***@qq.com - 秃头小王子

6.0以上得获取出来得mac地址与路由器上得mac不一样啊

该问题目前已经被锁定, 无法添加新回复