获取设备mac和设备id

	public static String getDeviceInfo(Context context)
	{
		try
		{
			org.json.JSONObject json = new org.json.JSONObject();
			android.telephony.TelephonyManager tm = (android.telephony.TelephonyManager) context
					.getSystemService(Context.TELEPHONY_SERVICE);

			String device_id = tm.getDeviceId();

			android.net.wifi.WifiManager wifi = (android.net.wifi.WifiManager) context
					.getSystemService(Context.WIFI_SERVICE);

			String mac = wifi.getConnectionInfo().getMacAddress();
			json.put("mac", mac);

			if (TextUtils.isEmpty(device_id))
			{
				device_id = mac;
			}

			if (TextUtils.isEmpty(device_id))
			{
				device_id = android.provider.Settings.Secure.getString(context.getContentResolver(),
						android.provider.Settings.Secure.ANDROID_ID);
			}

			json.put("device_id", device_id);

			return json.toString();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		return null;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写一个 Chrome 插件获取设备MAC 地址需要使用 Chrome 扩展 API 中的 `chrome.sockets` API 和 `chrome.system.network` API。具体步骤如下: 1. 在 `manifest.json` 文件中声明需要使用的 API 权限: ``` "permissions": [ "system.network", "sockets" ] ``` 2. 在插件代码中使用 `chrome.system.network.getNetworkInterfaces` 方法获取设备的网络接口信息,包括 MAC 地址: ``` chrome.system.network.getNetworkInterfaces(function(interfaces) { for (var i = 0; i < interfaces.length; i++) { if (interfaces[i].prefixLength == 24 && interfaces[i].address.indexOf('127.') != 0) { var macAddress = interfaces[i].macAddress; console.log(macAddress); // 在此处进行其他操作 break; } } }); ``` 3. 使用 `chrome.sockets` API 创建一个 UDP 套接字并发送设备MAC 地址: ``` chrome.sockets.udp.create({}, function(createInfo) { var socketId = createInfo.socketId; var message = 'MAC:' + macAddress; var serverAddress = '255.255.255.255'; var serverPort = 12345; chrome.sockets.udp.bind(socketId, '0.0.0.0', 0, function(result) { chrome.sockets.udp.send(socketId, stringToArrayBuffer(message), serverAddress, serverPort, function(sendInfo) { // 在此处进行其他操作 }); }); }); function stringToArrayBuffer(str) { var buf = new ArrayBuffer(str.length); var bufView = new Uint8Array(buf); for (var i = 0; i < str.length; i++) { bufView[i] = str.charCodeAt(i); } return buf; } ``` 以上代码可以将设备MAC 地址以 UDP 数据包的形式发送到局域网中的所有设备。注意,发送数据包需要使用 `chrome.sockets.udp.send` 方法,并且需要在 `manifest.json` 文件中声明使用 UDP 权限: ``` "permissions": [ "system.network", "sockets", "udp-send-to-255.255.255.255" ] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值