n***@163.com
n***@163.com
  • 发布:2017-11-24 14:55
  • 更新:2019-08-02 15:43
  • 阅读:2082

Android4.0以上,native.js获取mac地址。

分类:Native.js

官方提供的获取mac地址的例子只能适用于4.0以下.4.0以上只能获取到02:00这种的.我尝试写了一版,但是报错获取不下去了。。
function GetMacAddress() {
var mac = "xxx-xxx-xxx-xxx";
if (plus.os.name == "Android") {
var Enumeration = plus.android.importClass("java.util.Enumeration");
var String = plus.android.importClass("java.lang.String");
var StringBuilder = plus.android.importClass("java.lang.StringBuilder");
var NetworkInterface = plus.android.importClass("java.net.NetworkInterface");
var en = NetworkInterface.getNetworkInterfaces();
console.log(plus.android.invoke(en, "hasMoreElements"));
while (plus.android.invoke(en, "hasMoreElements")) {
var ni = plus.android.invoke(en, "nextElement");
var tmp = plus.android.invoke(ni, "getName");
if (tmp!="wlan0") {
continue;
}
else {
var tmp1 = plus.android.invoke(ni, "getHardwareAddress");
var macBytes = ni.getHardwareAddress();

            if (macBytes == null) {   
                return null;   
            }   

            var res1 = new StringBuilder();   
            $.each(macBytes, function (i, item) {  
                res1.append(parseInt(item, 16));  
                res1.append(":");  
                res1.append(String.Format("%02X:", item));////报错,提示"String.Format is not a function"  
            })  

            if (res1.length() > 0) {   
                res1.deleteCharAt(res1.length() - 1);   
            }   

            console.log("mac", "Mac地址:" + interfaceName);  
        }  
    }  
}  
return mac;  

}

2017-11-24 14:55 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

我们俩写的的逻辑差不多,最主要的问题是java的String类的format方法怎么在native.js中使用的问题

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