我需要一個設備標識符,該應用程序在卸載並重新安裝後仍然存在。我知道UUID類提供了一個標識符與方法ANDROID - 獲取持久性設備標識符(UUID)
String uniqueID = UUID.randomUUID().toString();
但Android指南不清楚它的範圍和持久性。在下一段中它說:
Android操作系統提供了許多具有不同行爲特徵的ID和您應該使用哪個ID取決於這些特徵如何與您的使用情況一起工作。但是這些特徵也會帶來隱私影響,所以瞭解這些特徵如何一起發揮很重要。
範圍
標識符範圍說明了哪些系統可以訪問標識符。 Android標識符範圍一般有三種:
單個應用程序。該ID在應用程序內部,而其他應用程序無法訪問。
應用程序組 - 可以通過預定義的一組相關應用程序訪問該ID。
設備 - 設備上安裝的所有應用都可以訪問該ID。 授予標識符的範圍越廣,它被用於跟蹤目的的風險就越大。相反,如果標識符只能由單個應用程序實例訪問,則不能用於在不同應用程序中跨越事務跟蹤設備。
重調和持久性
重調和持久性定義標識符的壽命和解釋它如何可被複位。常見的重置觸發器有:應用內重置,通過系統設置重置,重啓啓動,以及重置安裝。 Android的名稱可以有不同的壽命,但壽命通常與該ID是如何復位:
會話只 - 一個新的ID時將每個用戶重新啓動應用程序的時間。
安裝重置 - 每次用戶卸載並重新安裝應用程序時都會使用新ID。
FDR重置 - 每次用戶出廠重置設備時都會使用新的ID。
FDR-persistent - 該ID可以恢復出廠設置。
可重置性使用戶能夠創建與任何現有配置文件信息無關的新ID。這一點很重要,因爲更長且更可靠的標識符仍然存在(例如,在工廠重置等情況下),用戶可能遭受長期跟蹤的風險就越大。如果應用程序重新安裝時標識符被重置,則會降低持久性,並提供重置ID的方法,即使沒有明確的用戶控制從應用程序或「系統設置」中重置ID也是如此。
但我不知道如何獲得這些標識符,選擇我的範圍和持久性。 感謝
那你最終決定使用? –
我使用了Google提供的Instance ID,如果它在您取消應用程序後恢復,它似乎是最好的選擇,同樣如果我必須在我的應用程序中更改某些內容。 – leodev
通過**實例ID **您的意思是ANDROID_ID? –