Android 獲取 sn 詳解,以及測試報告~

 

網上有很多方法,我這裏做個總結,以下是用多部手機測試得來的結果:

1.小結:

1.Android 9及以上無法獲取sn,Android 9以下不需要權限即可獲取
2.獲取到的參數相對穩定不變
3.不同手機參數長度可能不同

補充:新增獲取方法:Build.getSerial()
1.可以獲取到多數Android 9及以上手機sn
2.sn獲取值與實際值可能不符(少數)
3.使用此方法有侷限性,SDK編譯版本26起步:compileSdkVersion 26

 

2.獲取代碼:

	/**
	 * 獲取SN
	 * @return
	 */
	public static String getSN() {
		String serial = "";
		//通過android.os獲取sn號
		try {
			serial = android.os.Build.SERIAL;
			if (!serial.equals("")&&!serial.equals("unknown"))return serial;
		}catch (Exception e){
			serial="";
		}

		//通過反射獲取sn號
		try {
			Class<?> c =Class.forName("android.os.SystemProperties");
			Method get =c.getMethod("get", String.class);
			serial = (String)get.invoke(c, "ro.serialno");
			if (!serial.equals("")&&!serial.equals("unknown"))return serial;

			//9.0及以上無法獲取到sn,此方法爲補充,能夠獲取到多數高版本手機 sn
			if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)serial = Build.getSerial();
		} catch (Exception e) {
			serial="";
		}
		return serial;
	}


3.不同手機的獲取結果:

注:這裏所說的權限是 
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

華爲Android7.0:
無論是否有權限:
sn獲取:XPUDU173230257** 參數穩定
sn獲取:XPUDU173230257**

vivo Android7.1:
無論是否有權限:
sn獲取:BIEQ9TEYOFUOO7** 參數穩定
sn獲取:BIEQ9TEYOFUOO7**

酷派 Android7.1:
無論是否有權限:
sn獲取:1dabb4** 參數穩定
sn獲取:1dabb4**

華爲Android8.0:
無論是否有權限:
sn獲取:SNMBB183055041** 參數穩定
sn獲取:SNMBB183055041**

華爲Android8.0:
無論是否有權限:
sn獲取:68U5T184030156** 參數穩定
sn獲取:68U5T184030156**

vivo 8.1
無論是否有權限,均獲取不到
無論是否有權限:
sn獲取:KZ9DBQKBVGCIYH** 參數穩定
sn獲取:KZ9DBQKBVGCIYH**

oppo 9.0
無論是否有權限,均獲取不到
sn:unknown

vivo 9.0
無論是否有權限,均獲取不到
sn:unknown

三星 9.0
無論是否有權限,均獲取不到
sn:unknown

華爲Android10
無論是否有權限,均獲取不到
sn:unknown

華爲Android10
無論是否有權限,均獲取不到
sn:unknown

4.嘗試獲取Android 9及以上版本的 sn

//新增方法:
//使用此方法有侷限性,SDK編譯版本26起步:compileSdkVersion 26
serial = Build.getSerial();


Log.e(TAG, "sn:"+getSN());


測試結果:

OPPO 9.0
無權限時:sn:
有權限時:sn:RK55JFEQ4LM74T**

vivo 9.0
無權限時:sn:
有權限時:sn:42858e**

三星 9.0
無權限時:sn:
有權限時:sn:483fce** (與實際值不符,但唯一)

華爲Android10
無權限時:sn:
有權限時:sn:8UJ4C19B270175**

華爲Android10
無權限時:sn:
有權限時:sn:unknown

歡迎各位看官打賞!
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章