有时,Android应用程序开发过程中需要得到基于Android智能手机设备的唯一ID 。特别是在需要唯一标识设备注册的情况下,Device ID就非常有用。今天我就整理一下Device ID有哪些方法获取。

1、DEVICE_ID:根据手机情况返回:IMEI,MEID或者ESN码。DEVICE_ID是每个设备唯一的、不管是应用重新安装、系统重置还是系统重新安装。依赖于设备具有通话功能,应用需要权限READ_PHONE_STATE,如果手机是双卡的会有问题。  实现代码:

TelephonyManager telephonyManager = (TelephonyManager) getActivity()

.getSystemService(Context.TELEPHONY_SERVICE);

imeistring = telephonyManager.getDeviceId();

2、ANDROID_ID:ANDROID_ID是设备第一次启动时随机产生的64bit数。手机系统重置之后会变化。 实现:

String androidId = Settings.Secure.getString(getActivity()

.getContentResolver(), Settings.Secure.ANDROID_ID);

3、WLAN MAC Address:无线WIFI的物理地址。需要权限ACCESS_WIFI_STATE,没有无线模块的设备返回空。实现:

WifiManager m_wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);

String m_wlanMacAdd = m_wm.getConnectionInfo().getMacAddress();

4、Bluetooth Address:蓝牙的物理地址。需要权限BLUETOOTH,没有蓝牙模块的设备返回空。实现:

BluetoothAdapter m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

String m_bluetoothAdd = m_BluetoothAdapter.getAddress();

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐