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

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

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

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

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

否则,你可以提供一个识别Android设备的替代方法吗?

Solutions Collecting From Web of "如何以编程方式识别Android设备?"

find一些与Android设备相关的东西最好的select就是访问它的序列号。 关于如何做到这一点,还有几个其他的职位,但最受瞩目的是这里:

如何findAndroid设备的序列号?

你可以唯一的基于imei识别任何Android手机。

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

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

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

在模拟器中,你可能会得到一个像0000 …值。 在设备上检查以获取设备ID。