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

Jac*_*kWM 14 android android-wifi

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

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String mac = wInfo.getMacAddress();
Run Code Online (Sandbox Code Playgroud)

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

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

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

Aja*_*y S 12

您可以基于唯一识别任何Android移动设备imei.

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();
Run Code Online (Sandbox Code Playgroud)

将权限添加到AndroidManifest.xml中:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Run Code Online (Sandbox Code Playgroud)

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

  • 非手机的设备不具有唯一的IMEI号码. (5认同)

Phi*_*hil 6

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

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