Loading...

android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

1)获取运营商sim卡imsi号:

String android_imsi = telephonyManager.getSubscriberId();//获取手机IMSI号

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 = null;

try {

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();

}

return serial;

}

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()

);

}

运行结果示例:

IMEI:868331011992179

ANDROID ID:5a3b287f2b13bef8

SerialNumber:021YLJ212C001879

SimSerialNumber:898600810110

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可能是这样的结果: 00000000-54b3-e7c7-0000-000046bffd97

得到设备独一无二的标识: 可以用于客户端与服务端通信的唯一标识

最后修改:2016 年 01 月 07 日 10 : 54 AM

© 允许规范转载

赞赏

如果觉得我的文章对你有用,请随意赞赏

×Close

赞赏作者

扫一扫支付

支付宝支付

微信支付

软件获取imei和imsi_android平台获取手机IMSI、IMEI 、序列号和手机号的方法相关推荐

  1. android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法 1)获取运营商sim卡imsi号: String android_imsi = telephonyManager.getSub ...

  2. android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    1)获取运营商sim卡imsi号, String IMSI =android.os.SystemProperties.get( android.telephony.TelephonyPropertie ...

  3. android获取手机IMSI号

    1.什么是imsi号 国际移动用户识别码(IMSI:International Mobile SubscriberIdentification Number)是区别移动用户的标志,储存在SIM卡中,可 ...

  4. android获取手机sim卡信息,Android获取手机SIM卡运营商信息的方法

    本文实例讲述了Android获取手机SIM卡运营商信息的方法,对于Android程序设计有非常实用的价值.分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: /** * 获取SIM卡运营商 ...

  5. 获取手机的IMEI,MSISDN,ICCID,IMSI

    TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);         S ...

  6. Android 获取手机的IMEI

    1.在AndroidManifest.xml中增加访问设备状态的权限: <uses-permission android:name="android.permission.READ_P ...

  7. android 获取手机IMSI码 双卡双待手机

    public static String getImsi(Context context) {String imsi = "";try { //普通方法获取imsiTelephon ...

  8. Android中获取手机的IMEI

    IMEI的概念 IMEI(International Mobile Equipment Identity): 是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号& ...

  9. java 读取手机文件_Android获取手机文件夹及文件列表的方法

    先看看效果图: package wuwang.tools.utils; import java.io.File; import java.io.FileInputStream; import java ...

最新文章

  1. 打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
  2. 对不起,让你笑了这么久!
  3. ASP条件语句之IF语句
  4. 计算几何-经典算法-凸包
  5. 2、Flutter Widget(IOS Style) - CupertinoActionSheet;
  6. c++的assert函数
  7. MCMC 和 Gibbs采样
  8. 阿里高级技术专家:研发效能的追求永无止境
  9. 自定义字体 (暂不支持中文)
  10. 26_多线程_第26天(Thread、线程创建、线程池)
  11. this.$set 更新整个数组_学点算法(二)——有序数组二分搜索算法
  12. RK3328 中文介绍
  13. nfc卡模式与标准模式_NFC(1)NFC简介,3种模式
  14. iOS——Segue的使用
  15. python sklearn逻辑回归 sgd和lr_LR逻辑回归模型的原理、公式推导、Python实现和应用...
  16. 安卓使用POI读取及修改Word文档(.doc格式)
  17. 日期之 显示法定格式的日期
  18. PTA甲级 1109 Group Photo (25point(s))
  19. windows下使用命令行运行PHP
  20. 使用PfamScan的API对蛋白结构域进行注释

热门文章

  1. 【windows虚拟机装openwrt做主路由扩wan扩lan】
  2. 华为手机无法安装ADB和HDB的处理
  3. Congrats !
  4. 2014湖南农业大学ACM校赛
  5. 实验一 stm32F407VETx点亮流水灯
  6. vs code修改代码后再次运行,报错:file“<stdin>“,line 1
  7. Java高效率复习-面向对象下篇[Java]
  8. Qt焦点事件 setFocusPolicy
  9. Exception in thread “main“ java.lang.UnsupportedClassVersionError
  10. CAD查看器软件的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告