android手機獲取唯一標(biāo)識的方法
獲取手機唯一標(biāo)識
拼接的方式獲取手機唯一標(biāo)識
第一種方式是獲取IMEI,但是有的手機如果不是正品的話,就獲取不到所以通過這一種方式還是會出現(xiàn)有的設(shè)備是沒有唯一標(biāo)識的
第二種方式獲取手機卡的序列號,當(dāng)然這種也不是唯一的,因為有的手機是雙卡雙待的所以可能會出現(xiàn)空的情況
第三種方式是萬能的也就是UUID,隨機生成一個標(biāo)識,但是必須保存在本地,防止下一次進入的時候再次生成隨機碼
進行三層判斷,來獲取手機的唯一標(biāo)識。
//獲取手機的唯一標(biāo)識
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();
}
//序列號(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;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android金額輸入框只允許輸入小數(shù)點后兩位效果
實現(xiàn)android 金額輸入框輸入小數(shù)點后兩位的效果也不是很復(fù)雜,只需要設(shè)置輸入框輸入的字符類型、設(shè)置InputFilter、設(shè)置輸入變化監(jiān)聽即可。這篇文章主要介紹了Android金額輸入框只允許輸入小數(shù)點后兩位 ,需要的朋友可以參考下2017-05-05
Android startActivityForResult的基本用法詳解
這篇文章主要介紹了Android startActivityForResult的基本用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Android錄音--AudioRecord、MediaRecorder的使用
本篇文章主要介紹了Android錄音--AudioRecord、MediaRecorder的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02

