Tag: device id

[教學] 取得 android unique device id 的方法

目前取得 android unique device id 的方法有下面四種

  • ANDROID_ID
  • WiFi Address
  • Bluetooth Address
  • IMEI

1. ANDROID_ID

缺點:

  • 其值可能是 null:Android  2.2 (“Froyo”) 之前裝置可能不支援。
  • 可能會有相同的ANDROID_ID:山寨手機
  • factory reset 後,值會改變

權限:無

取得方式:

String androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

 

2. WiFi Address

缺點:

  • 裝置必需要有 WiFi 功能
  • 其值可能是 null:WiFi 需要開啓

權限:android.permission.ACCESS_WIFI_STATE

取得方式:

WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
 
String wifiMac = wm.getConnectionInfo().getMacAddress();

 

3. Bluetooth Address

缺點:

  • 裝置必須有 Bluetooth 功能

權限:android.permission.BLUETOOTH permission

取得方式:

String btMac = BluetoothAdapter.getDefaultAdapter().getAddress();

 

4. IMEI

缺點:

  • 裝置必須有打電話功能

權限:android.permission.READ_PHONE_STATE

取得方式:

TelephonyManager thManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
 
String imei = thManager.getDeviceId();
Tags : ,