標籤:
1.IMEI
TelephonyManager tM=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); String imei = tM.getDeviceId(); Log.v("ola_log", "imei:" + imei);
許可權:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
說明:手機的IMEI值
缺點:有的只有Wifi的平板,擷取得的值為NULL
2.Android_id
String android_id = Secure.getString(this.getBaseContext().getContentResolver(), Secure.ANDROID_ID); Log.v("ola_log", "android_id:" + android_id);
說明:裝置第一次啟動時產生的序號
缺點:網上有人說,某些品牌會有android id值重複的情況,回廠設定時,android id值會變更
3.Wifi_MAC
WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); Log.v("ola_log", "MacAddress:" + wifiInfo.getMacAddress());
許可權:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
說明: Wifi的MAC
缺點:有的品牌,沒有開啟Wifi不能取得MAC值
4.Build.serial
String BuildSERIAL = android.os.Build.SERIAL; Log.v("ola_log", "BuildSERIAL:" + BuildSERIAL);
說明:硬體的唯一值
缺點:API 9以後才支援,這對一般的裝置來說,已經不是問題
5.UUID
String UUID_Value = UUID.randomUUID().toString(); Log.v("ola_log", "UUID_Value:" + UUID_Value);
說明:randomUUID可以隨機的製造一個唯一值,或是利用其他內建方法製造唯一值
(EX:nameUUIDFromBytes(byte[] name)).
缺點:必須要自已處理UUID的製造及儲存,若使用randomUUID則代表的是該項次安裝的唯一值
android 唯一值