19

目前,我使用 MAC 地址作为 Android 设备的标识符。

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String mac = wInfo.getMacAddress();

但是,我发现mac某些用户的设备是空的。我有点困惑为什么它可能是空的。

如果你能弄清楚原因,那就最好了!

否则,您能否提供一种替代方法来识别 Android 设备?

4

2 回答 2

13

您可以根据imei.

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();

将权限添加到您的 AndroidManifest.xml 中:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

在模拟器中,您可能会得到一个类似 0000... 的值。在设备上检查它以获取设备 ID。

于 2013-02-15T17:21:35.547 回答
7

找到有关 Android 设备的独特之处的最佳选择是访问其序列号。还有其他几篇关于如何做到这一点的帖子,但观看次数最多的一篇在这里:

如何找到Android设备的序列号?

于 2013-02-15T17:07:05.383 回答