Tôi cần phải đăng ký thiết bị người dùng trên máy chủ với số nhận dạng duy nhất là giá trị không đổi và không thay đổi trong tương lai.Android - ID thiết bị duy nhất và không đổi
Tôi không thể tìm thấy giải pháp tốt để lấy id duy nhất từ tất cả các thiết bị (có/không có simcard).
Secure.ANDROID_ID: Bảo mật.ANDROID_ID không phải là duy nhất và có thể không có hoặc thay đổi khi khôi phục cài đặt gốc.
String m_androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
IMEI: IMEI là phụ thuộc vào các khe cắm Simcard của thiết bị, vì vậy nó không phải là tốt để có được IMEI cho các thiết bị mà không sử dụng Simcard.
TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String uuid = tManager.getDeviceId();
WLAN MAC Address: Nếu thiết bị không có phần cứng wifi thì nó sẽ trả về địa chỉ MAC null. và người dùng có thể thay đổi địa chỉ mac của thiết bị.
WifiManager m_wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
String m_wlanMacAdd = m_wm.getConnectionInfo().getMacAddress();
Địa chỉ chuỗi Bluetooth: Nếu thiết bị có phần cứng không bluetooth thì nó sẽ trả về null.
BluetoothAdapter m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
String m_bluetoothAdd = m_BluetoothAdapter.getAddress();
Instance id: instance_id sẽ thay đổi khi người dùng gỡ bỏ và cài đặt lại ứng dụng. và nó không phải là một giá trị không đổi.
Bạn có ý tưởng lấy id duy nhất từ tất cả các thiết bị Android (có/không có simcard, Bluetooth, ...) thực sự là duy nhất, không thể rỗng và không thay đổi sau khi gỡ cài đặt/cài đặt lại ứng dụng?
Lưu ý rằng máy tính bảng không có cả SIMcard và WiFi không thể tồn tại hoặc hữu ích từ xa. Bạn đã xem xét một sự kết hợp của cả hai? –
@STTLCU no. nhưng người dùng có thể thay đổi địa chỉ MAC. –
@STTLCU Tôi không chắc chắn những máy tính bảng bạn có xung quanh bạn, nhưng hầu như bất cứ ai tôi biết có một viên thuốc _with_ một thẻ SIM. –