官方提供的获取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;
}
1 个回复
1***@qq.com
我们俩写的的逻辑差不多,最主要的问题是java的String类的format方法怎么在native.js中使用的问题