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

欢迎各位看官打赏!
 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值