Unity3D获取设备MAC地址

举报
心疼你的一切 发表于 2024/12/16 10:39:49 2024/12/16
【摘要】 👉前言mac地址也称为物理(或硬件)地址,是分配给计算机的nic(网络接口卡)的唯一标识符,存储在硬件中;nic有助于将计算机与网络中的其他计算机连接,而mac地址对于所有nic都是唯一的。MAC地址的格式MAC地址的编号是以十六进制格式进行唯一格式化,格式为六组两个数字或字符,即12位十六进制数字(48位或6字节长),用连字符(或分号)分隔。MAC地址的示例:F0-FF-HK-HH-L...

👉前言

mac地址也称为物理(或硬件)地址,是分配给计算机的nic(网络接口卡)的唯一标识符,存储在硬件中;nic有助于将计算机与网络中的其他计算机连接,而mac地址对于所有nic都是唯一的。

MAC地址的格式
MAC地址的编号是以十六进制格式进行唯一格式化,格式为六组两个数字或字符,即12位十六进制数字(48位或6字节长),用连字符(或分号)分隔。MAC地址的示例:
F0-FF-HK-HH-LL-OO
大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
欢迎点赞评论哦.
下面就让我们进入正文吧 !


👉一、PC的mac地址

👉1-1、第一种cmd查看mac地址

打开控制台快捷键 Ctrl+R 打开输入cmd
之后输入ipconfig/all之后即可显示一大堆信息
https://i-blog.csdnimg.cn/direct/8dd94ca066bc4a11b90ef956aee7c651.png)
箭头指向的就是mac地址

👉1-2、代码获取PC和ios的mac地址

  //中间带-的
    public string GetMacAddress()
    {
        string macAddress = "";
        NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();

        foreach (var item in networkInterfaces)
        {
            if (item.Description == "en0")
            {
                macAddress = item.GetPhysicalAddress().ToString();
                break;
            }
            else
            {
                macAddress = item.GetPhysicalAddress().ToString();
                if (macAddress != "")
                {
                    break;
                }
            }
        }      
        return SeparateStringBy2(macAddress);
    }
    public static string SeparateStringBy2(string input)
    {
        if (string.IsNullOrEmpty(input))
        {
            return input;
        }

        StringBuilder result = new StringBuilder();
        int length = input.Length;
        for (int i = 0; i < length; i += 2)
        {
            if (i + 2 < length)
            {
                result.Append(input.Substring(i, 2));
                result.Append('-');
            }
            else
            {
                result.Append(input.Substring(i));
            }
        }

        return result.ToString().Trim();
    }

第一个方法获取mac地址的,第二个方法是在地址上加 — 的,看你们的需求,有需要就加,没有需要就不加
上述方法适用于PC和ios

👉二、Android的mac获取方法(untiy)

unity有一个自带的API
参考资料:官方API文档
代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class CeShiMac : MonoBehaviour
{
    public Text text;
   

    private void Start()
    {
        // //设备唯一标识符
        string UDID = SystemInfo.deviceUniqueIdentifier;
        text.text = UDID;       
    }
}

👉二、Android手机的串码获取方法(Android系统)

设备序列号(Serial Number, SN)
String serialNum = android.os.Build.SERIAL;

制造商 (ManufacturerString manufacturer = android.os.Build.MANUFACTURER;

型号(ModelString model = android.os.Build.MODEL;

品牌(BrandString brand = android.os.Build.BRAND;

设备名 (DeviceString device = android.os.Build.DEVICE;

👉三、Android手机的唯一标识码获取方法(Android系统)

唯一标识码这东西在网络应用中非常有用,例如检测是否重复注册之类的。

import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);

👉四、Android手机的Mac地址的获取方法(Android系统)

代码如下:

 String getMac() {
                String macSerial = null;
                String str = "";
                try {
                        Process pp = Runtime.getRuntime().exec(
                                        "cat /sys/class/net/wlan0/address ");
                        InputStreamReader ir = new InputStreamReader(pp.getInputStream());
                        LineNumberReader input = new LineNumberReader(ir);


                        for (; null != str;) {
                                str = input.readLine();
                                if (str != null) {
                                        macSerial = str.trim();// 去空格
                                        break;
                                }
                        }
                } catch (IOException ex) {
                        // 赋予默认值
                        ex.printStackTrace();
                }
                return macSerial;
        }

👉总结

本次总结的就是mac地址的获取,有需要会继续添加新的
如能帮助到你,就帮忙点个赞吧,三连更好哦,谢谢
你的点赞就是对博主的支持,有问题记得留言评论哦!
不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。