獲取手機(jī)唯一標(biāo)識(shí)
拼接的方式獲取手機(jī)唯一標(biāo)識(shí)
第一種方式是獲取IMEI,但是有的手機(jī)如果不是正品的話,就獲取不到所以通過(guò)這一種方式還是會(huì)出現(xiàn)有的設(shè)備是沒(méi)有唯一標(biāo)識(shí)的
第二種方式獲取手機(jī)卡的序列號(hào),當(dāng)然這種也不是唯一的,因?yàn)橛械氖謾C(jī)是雙卡雙待的所以可能會(huì)出現(xiàn)空的情況
第三種方式是萬(wàn)能的也就是UUID,隨機(jī)生成一個(gè)標(biāo)識(shí),但是必須保存在本地,防止下一次進(jìn)入的時(shí)候再次生成隨機(jī)碼
進(jìn)行三層判斷,來(lái)獲取手機(jī)的唯一標(biāo)識(shí)。
//獲取手機(jī)的唯一標(biāo)識(shí) public String getPhoneSign(){ StringBuilder deviceId = new StringBuilder(); // 渠道標(biāo)志 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(); } //序列號(hào)(sn) String sn = tm.getSimSerialNumber(); if(!TextUtils.isEmpty(sn)){ deviceId.append("sn"); deviceId.append(sn); return deviceId.toString(); } //如果上面都沒(méi)有, 則生成一個(gè)id:隨機(jī)碼 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; }以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注