当前位置: 首页 > news >正文

Android基础---获取手机硬件数据(转)

1、IMEI(International Mobile Equipment Identity) 是国际移动设备身份码的缩写,
国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。
每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。

2、IMSI 国际移动用户识别码(IMSI:International Mobile SubscriberIdentification Number)
是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。其总长度不超过15位,同样使用0~9的数字。
IMSI共有15位,其结构如下:
MCC+MNC+MSIN
MCC:Mobile Country Code,移动国家码,MCC的资源由国际电联(ITU)统一分配和管理,唯一识别移动用户所属的国家,共3位,中国为460;
MNC:Mobile Network Code,移动网络码,共2位,中国移动系统使用00、02、07,中国联通GSM系统使用01,中国电信CDMA系统使用03,一个典型的IMSI号码为460030912121001;
MSIN:Mobile Subscriber Identification Number共有10位,其结构如下:
EF+M0M1M2M3+ABCD
其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。
可以看出IMSI在NMSI号码前加了MCC,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个移动网络运营商,可以通过MNC来进行区别.

需要权限:
<uses-permission android:name= "android.permission.READ_PHONE_STATE" />
 
public  class  DeviceInfo
{
     public  static  void  getDeviceInfo(Context context)
     {
           TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
             String number = tm.getLine1Number();              //本机号码(多半不可取)
             String imei = tm.getDeviceId();                    //(设备序列号全球唯一, IMEI)
             String businessName = tm.getNetworkOperatorName(); //运营商名字
             String sim = tm.getSimSerialNumber();                //SIM卡序列号
             String imsi = tm.getSubscriberId();                   //IMSI
             String iso = tm.getNetworkCountryIso();              //设备所属国家 cn或者us 之类
             String businessId = tm.getNetworkOperator();         //运营商ID
             
             System.out.println( " number : " +number
                     + " imei " +imei
                     + " bussnessName " +businessName
                     + " sim " +sim
                     + " imsi " +imsi
                     + " iso " +iso
                     + " businessId " +businessId
                     );
     }
}

 本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/archive/2012/11/29/2795272.html如需转载请自行联系原作者


demoblog

相关文章:

  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • k8s基本概念及入门案例
  • httplib 和 httplib2区别之 gzip解压
  • 【第四期】图片轮播代码
  • 币泳金:比特现金分叉满月比特币跌去半数,比特币为何无法稳定的反弹上升...
  • 设计模式学习笔记(2) - 工厂方法模式
  • linux 淘宝开源监控工具tsar
  • Windows Server 2016 Storage Replica
  • 用MVC做支付宝手机网页支付问题
  • .net core Swagger 过滤部分Api
  • 一位台湾学校校长的演讲
  • k8s使用glusterfs实现动态持久化存储
  • MFC CListCtrl 表格
  • Semaphore
  • L1与L2正则化
  • [译]前端离线指南(上)
  • CSS 三角实现
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java教程_软件开发基础
  • Netty 4.1 源代码学习:线程模型
  • vuex 学习笔记 01
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 测试如何在敏捷团队中工作?
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 区块链分支循环
  • 使用 @font-face
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (阿里云万网)-域名注册购买实名流程
  • (备忘)Java Map 遍历
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (十五)使用Nexus创建Maven私服
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)c++ std::pair 与 std::make
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • @ConditionalOnProperty注解使用说明
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @Validated和@Valid校验参数区别
  • []C/C++读取串口接收到的数据程序
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [android] 手机卫士黑名单功能(ListView优化)
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [CDOJ 1343] 卿学姐失恋了
  • [CISCN2019 华北赛区 Day1 Web2]ikun
  • [CSS] - 修正IE6不支持position:fixed的bug
  • [Editor]Unity Editor类常用方法
  • [git] windows系统安装git教程和配置
  • [go] 迭代器模式
  • [IDF]啥?
  • [LeetCode]—Add Binary 两个字符串二进制相加