您好,登錄后才能下訂單哦!
獲取手機唯一標識
拼接的方式獲取手機唯一標識
第一種方式是獲取IMEI,但是有的手機如果不是正品的話,就獲取不到所以通過這一種方式還是會出現有的設備是沒有唯一標識的
第二種方式獲取手機卡的序列號,當然這種也不是唯一的,因為有的手機是雙卡雙待的所以可能會出現空的情況
第三種方式是萬能的也就是UUID,隨機生成一個標識,但是必須保存在本地,防止下一次進入的時候再次生成隨機碼
進行三層判斷,來獲取手機的唯一標識。
//獲取手機的唯一標識 public String getPhoneSign(){ StringBuilder deviceId = new StringBuilder(); // 渠道標志 deviceId.append("a"); try { //IMEI(imei) TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); String imei = tm.getDeviceId(); if(!TextUtils.isEmpty(imei)){ deviceId.append("imei"); deviceId.append(imei); return deviceId.toString(); } //序列號(sn) String sn = tm.getSimSerialNumber(); if(!TextUtils.isEmpty(sn)){ deviceId.append("sn"); deviceId.append(sn); return deviceId.toString(); } //如果上面都沒有, 則生成一個id:隨機碼 String uuid = getUUID(); if(!TextUtils.isEmpty(uuid)){ deviceId.append("id"); deviceId.append(uuid); return deviceId.toString(); } } catch (Exception e) { e.printStackTrace(); deviceId.append("id").append(getUUID()); } return deviceId.toString(); } /** * 得到全局唯一UUID */ private String uuid; public String getUUID(){ SharedPreferences mShare = getSharedPreferences("uuid",MODE_PRIVATE); if(mShare != null){ uuid = mShare.getString("uuid", ""); } if(TextUtils.isEmpty(uuid)){ uuid = UUID.randomUUID().toString(); mShare.edit().putString("uuid",uuid).commit(); } return uuid; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。