相比大家都知道,每部手机都有一个属于自己的字符串,这个字符串是全球唯一的;即使相同品牌,相同型号,它们彼此也不会雷同;这个码就是IEMI码。
IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。
有了IMEI码,我们就能很方便的区分出每一台机器,区分出机器拥有者、使用者。IMEI码也是用户无法自行更改的,因此很大程度上防止了“偷梁换柱”用户行为。比如,我们可以用IEMI码作为登陆验证。
我之前做的工程中,有几个牵扯到了AndroidPad。(见 http://www.linuxidc.com/Linux/2011-10/44917.htm 与 http://www.linuxidc.com/Linux/2011-10/44918.htm)同样,我也能从中获取IMEI码。可见,IMEI码不仅仅局限于手机;但是不同的是,我测试的aigo的几个Pad,他们的IMEI码中含有字母,因此如果今后大家在通过代码查询IMEI码时发现有字母在内,不要犹豫,这很正常。
废话不多说了,看代码!
代码主要有两部分,一是Java代码,另一个则是Manifest.xml中的权限。
先看Java代码:
1.//获取IMEI码
TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = telephonyManager.getDeviceId();
5.//将获取到的IMEI码打印 6.System.out.println("IMEI:" + IMEI);我们设定字符串IMEI,最后打印字符串,就能看到IMEI码了。 其次是Manifest.xml中权限:
1.<uses-permission Android:name="android.permission.READ_PHONE_STATE" />