2013-05-20 51 views
0

我知道,android.Build.SERIAL是在第一次設備啓動時生成的,但我無法找到準確的位置和時間。我正在建設AOSP Jelly Bean,Android平板電腦,nosdcard。何時何地在AOSP中生成android.Build.SERIAL?

第二個問題:就是這個序號真的唯一所有Android設備?

+0

您可以檢查此鏈接的設備的唯一性:http://stackoverflow.com/questions/13471283/is-android-os-build-serial-unique –

+0

似乎是獨特的,但沒有人說,那它是100%獨特的。我正在爲沒有IMEI的平板電腦構建。獲得WiFi MAC地址需要啓動WiFi(不是最好的解決方案)。如果android.Build.SERIAL不是唯一的,那麼我將編寫自定義ID生成器模塊。但首先我需要關於android.Build.SERIAL –

+0

的唯一性的確切信息。很明顯,它是唯一的,但自API 9以來已添加,並且可能不在所有設備上。 –

回答

1

根據this thread,它明確表示它是獨一無二的,但自API 9以來增加並且可能不在所有設備上。

如果您正在爲特定設備的型號編寫應用程序,則可以直接檢查它是否具有IMEI。否則,如您所說,我建議您編寫一個自定義ID生成器模塊。
您將確保您的ID將是唯一且適用於所有設備的。

IMEI表示設備的序列號。它確定它是獨一無二的。兩個不同的設備不能有相同的序列號。

來獲得設備的序列號,你只需要調用:

String serial = Build.SERIAL; 

它存在的另一種方法。您可以致電Secure.ANDROID_ID以獲得該ID。即在 設備的第一次啓動隨機生成的,並應用於 器件的壽命保持恆定

一個64位數字(如十六進制字符串)。 (如果 裝置上執行出廠復位值可能會改變。)

private final String ANDROID_ID = Secure.getString(getContext().getContentResolver(), 
                 Secure.ANDROID_ID); 

小心,因爲它說,如果進行價值MAY變化的恢復出廠設置。