知道苹果imei解锁和iccib怎么解idx

11246人阅读
android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法
1)获取运营商sim卡imsi号:
&String&android_imsi&=&telephonyManager.getSubscriberId();
&String IMSI = android.os.SystemProperties.get(
& & & & & & & android.telephony.TelephonyProperties.PROPERTY_IMSI);
2)获取IME标识两种方法(手机唯一的标识)
String imei = ((TelephonyManager) context.getSystemService(TELEPHONY_SERVICE)).getDeviceId();
String IMEI&=&android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI)
不过纯APP开发SystemProperties,TelephonyProperties汇报错误,因为android.os.SystemProperties在SDK的库中是没有的,需要把Android
SDK 目录下data下的layoutlib.jar文件加到当前工程的附加库路径中,就可以Import。
如果Android Pad没有IMEI,用此方法获取设备ANDROID_ID:
String android_id = Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);
2. 获取手机号
TelephonyManager tm= (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
String number = tm.getLine1Number();
如下使用例子:
public static String getIMEI() {
& & return ((TelephonyManager) AppXiKang.getApp().getSystemService(
& & Context.TELEPHONY_SERVICE)).getDeviceId();
public static String getAndroidId() {
& &&return android.provider.Settings.Secure.getString(
& &&AppXiKang.getApp().getContentResolver(),&
& &&android.provider.Settings.Secure.ANDROID_ID);
public static String getSimSerialNumber() {
& &&return ((TelephonyManager) AppXiKang.getApp().getSystemService(
& &&Context.TELEPHONY_SERVICE)).getSimSerialNumber();
public static String getSerialNumber1() {
& &&return android.os.Build.SERIAL;
* getSerialNumber
* @return result is same to getSerialNumber1()
public static String getSerialNumber(){
& &&String serial =
& &&Class&?& c = Class.forName(&android.os.SystemProperties&);
& && &&Method get = c.getMethod(&get&, String.class);
&& && &serial = (String) get.invoke(c, &ro.serialno&);
& &&} catch (Exception e) {
&& &&&&e.printStackTrace();
public static void displayDevice(){
& &&String dest_imei = getIMEI();
& &&String androidId = getAndroidId();
& &&Log.i(TAG, &isTestDevice: &&
& & & & & &+& \nIMEI:&+dest_imei
& &&+& \nANDROID ID:& + androidId&
& &&+& \nSerialNumber:& + getSerialNumber()
& &&+& \nSimSerialNumber:& + getSimSerialNumber()
运行结果示例:
ANDROID ID:5a3b287f2b13bef8
SerialNumber:021YLJ212C001879
SimSerialNumber:
3. 获取一个能唯一标识每台Android设备的序号与服务器通信
所以如果你想得到设备的唯一序号,&TelephonyManager.getDeviceId()&就足够了。但很明显暴露了DeviceID会使一些用户不满,所以最好把这些id加密了。实际上加密后的序号仍然可以唯一的识别该设备,并且不会明显的暴露用户的特定设备,例如,使用
String.hashCode() ,结合UUID:
String getuniqueId(){
& & & & & & & &&TelephonyManager tm = (TelephonyManager)&getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
String imei=tm.getDeviceId();
String simSerialNumber=tm.getSimSerialNumber();
String&androidId = android.provider.Settings.Secure.getString(
getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
UUID deviceUuid =new&UUID(androidId.hashCode(),
((long)imei.hashCode() && 32) | simSerialNumber.hashCode());
String uniqueIuniqueId&d = deviceUuid.toString();
returnuniqueId;
最后的deviceID可能是这样的结果:&b3-e7c7-bffd97
得到设备独一无二的标识:&可以用于客户端与服务端通信的唯一标识
根据测试:
所有的设备都可以返回一个&TelephonyManager.getDeviceId()
所有的GSM设备 (测试设备都装载有SIM卡)&可以返回一个TelephonyManager.getSimSerialNumber()
所有的CDMA 设备对于&getSimSerialNumber()&却返回一个空值!
所有添加有谷歌账户的设备可以返回一个&ANDROID_ID
所有的CDMA设备对于&ANDROID_ID&和&TelephonyManager.getDeviceId()&返回相同的值(只要在设置时添加了谷歌账户)
目前尚未测试的:没有SIM卡的GSM设备、没有添加谷歌账户的GSM设备、处于飞行模式的设备。
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:90761次
积分:1370
积分:1370
排名:第17445名
原创:43篇
转载:14篇
(1)(2)(3)(2)(1)(5)(2)(2)(1)(1)(1)(3)(1)(1)(2)(7)(4)(7)(11)

我要回帖

更多关于 苹果知道imei怎么解锁 的文章

 

随机推荐