如何通过编程方式识别Android设备?

时间:2013-02-15 17:00:24

标签: android android-wifi

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

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

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

如果你能找出原因,那就是最好的!

否则,您能否提供识别Android设备的替代方案?

2 个答案:

答案 0 :(得分:12)

您可以根据 imei 唯一识别任何Android移动设备。

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

将权限添加到AndroidManifest.xml中:

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

在模拟器中,你可能会得到类似于0000 ...的价值。在设备上查看它以获取设备ID。

答案 1 :(得分:5)

找到Android设备的独特之处,最好的办法是访问其序列号。关于如何做到这一点还有其他一些帖子,但最受欢迎的帖子在这里:

How to find serial number of Android device?