uniapp获取手机设备信息uuid\mac

测试手机:荣耀60

1.获取安卓设备device.uuid或ANDROID_ID

// 方法一:
let mainActivity = plus.android.runtimeMainActivity();
let Settings = plus.android.importClass("android.provider.Settings");
let uuid = Settings.Secure.getString(mainActivity.getContentResolver(),Settings.Secure.ANDROID_ID);

// 方法二:
plus.device.getInfo({
	success: function(e) {
		console.log('getDeviceInfo success: ' + JSON.stringify(e));
	},
	fail: function(e) {
		console.log('getDeviceInfo failed: ' + JSON.stringify(e));
	}
});

2.获取mac地址

// 导入Java类。Networklnterface类表示一个由名称和分配给此接口的IP地址列表组成的网络接口
const net = plus.android.importClass('java.net.NetworkInterface');
// 搜索具有指定名称的网络接口
const wlan0 = net.getByName('wlan0');
// 获得网卡的硬件地址
const macByte = wlan0.getHardwareAddress();
let macStr = '';
//转换MAC地址的思路来自网上
macByte.forEach(item => {
	// .toString(16)数字以十六进制值显示
	let temp = '';
	if (item < 0) temp = (256 + item).toString(16);
	else temp = item.toString(16);
	if (temp.length == 1) temp = `0${temp}`;
	macStr += temp;
});
let MAC = macStr.toUpperCase();
for (let i = 2; i < MAC.length; i += 3) MAC = MAC.slice(0, i) + ':' + MAC.slice(i);
console.log('MAC: ' + MAC);

猜你喜欢

转载自blog.csdn.net/weixin_46029283/article/details/130973069
今日推荐