我可以使用纯 Java 代码以编程方式找到 UDID 和 MAC 地址吗?
如果没有,请向我建议您用来找到它的任何自有方法。
由于 JDK 1.6 开发人员能够通过类访问网卡详细信息NetworkInterface
。
要获取系统的 mac 地址,这里有几个很好的教程:
这些教程展示了访问网卡的传统方式和现代方式。
现在,就UDID
部分而言,我假设它是一个 Android 设备,有几个选择可以用作设备的唯一标识符。选择范围通常缩小到:
MAC address
Serial Number
ANDROID_ID
其中最好使用 ANDROID_ID 作为 UDID,因为:
尽管可以从设备的 WiFi 或蓝牙硬件中检索 Mac 地址,但不建议这样做,因为并非所有设备都有 WiFi。另外,如果 WiFi 没有打开,硬件可能不会报告 Mac 地址。
从 Android 2.3(“Gingerbread”)开始,可以通过android.os.Build.SERIAL获得。没有电话的设备需要在此处报告唯一的设备 ID;有些手机也可能这样做。
更具体地说,它ANDROID_ID
是在设备首次启动时生成和存储的 64 位数量。擦除设备时会重置它。ANDROID_ID 似乎是唯一设备标识符的不错选择,但也有缺点:
参考: