Android设备唯一标识的讨论(二)

第一部分讨论了三种标识的来源,我也是通过对着三个标识的判定来区分是模拟器还是真机的。

而在获取设备唯一标识的时候,其实还有其他一些值可供参考,如同imei相近的MEID,ESN,IMSI,以及与设备相关的一些值。

Serial No:

获取方法:

String serialNo =android.os.Build.SERIAL;


或者使用反射

public static String getSerialnum(){
		String serialnum =null;
		try {
			Class<?> c = Class.forName("android.os.SystemProperties");
			Method get = c.getMethod("get", String.class, String.class );
			serialnum = (String)(get.invoke(c, "ro.serialno", "unknown" ));
		}catch(Exception e){
			e.printStackTrace();
		}
		return serialnum;
	}


从android2.3开始加入。同事这个Serial No一般的厂商并不会更改他,保持默认的0123456789ABCDEF。

ANDROID_ID:

获取方法:

String androidId = Settings.Secure.getString(context.getContentResolver(),Settings.Secure.ANDROID_ID);


在Android2.2之前的版本可能无效。
因此以上两个值皆不具有普遍性,无法正常使用。

 

因此我建议使用IMEI和Mac Address的组合来确定一台设备(但是前提是该设备具有电话功能,WIFI功能中的任意一种)

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值