從Android 10開始,應用程序無法直接訪問設備標識符(如IMEI和序列號)或設備ID,除非應用程序具有特定的權限。這是出于用戶隱私和安全方面的考慮。如果你嘗試在沒有權限的情況下獲取設備ID,你將會收到一個安全異常。
然而,你仍然可以獲取設備ID的替代值,如Android ID。Android ID是一個64位的十六進制字符串,用作設備的唯一標識符,但它并不是永久的,因此不適合用于長期跟蹤設備。要獲取Android ID,你可以使用以下代碼:
String androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
需要注意的是,Android ID并不是一個完全可靠的設備標識符,因為它可以在設備恢復出廠設置或者刷機的情況下發生變化。如果你需要一個持久的設備標識符,最好考慮使用廣告標識符(Advertising ID)或自定義的標識符,并在用戶同意的情況下收集和使用這些標識符。