Android獲取手機唯一標識
阿新 • • 發佈:2018-11-19
//獲取手機唯一標識 private String getId() { StringBuilder deviceId = new StringBuilder(); // 渠道標誌 deviceId.append("a"); try { //IMEI(imei) TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); @SuppressLint("MissingPermission") String imei = tm.getDeviceId(); if(!TextUtils.isEmpty(imei)){ deviceId.append("imei"); deviceId.append(imei); return deviceId.toString(); } //序列號(sn) @SuppressLint("MissingPermission") 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; }