SIM卡信息解读

SIM卡,Subscriber Identity Module,全称是“用户识别模块”。它是数字蜂窝移动电话的用户识别卡。在GSM数字移动电话系统中,SIM卡起着极其重要的作用,它既是手持机的一个重要组成部分,又是为每一个GSM移动电话用户配备的身份卡。SIM卡还能够存储短信数据和电话号码。SIM卡主要用于GSM系统。
SIM由CPU、ROM、RAM、EEPROM和I/O电路组成。用户使用SIM时,实际上是手机向SIM卡发出命令,SIM卡应该根据标准规范来执行或者拒绝;SIM卡并不是单纯的信息存储器。

 

SIM卡内部的数据
SIM卡能够存储的数据类型主要被分为以下五种:
1、由SIM卡生产厂商存入的系统原始数据
2、存储手机的固定信息,手机在出售之前都会被SIM卡中心记录到SIM卡当中,主要包括鉴权和加密信息、国际移动用户识别码(IMSI)、IMSI认证算法、加密密匙生成算法、密匙生成前,用户密匙的生成算法(这三种算法均为128位)
3、用户自己存入的数据,如短消息、固定拨号、缩位拨号、性能参数、话费记数等;能够存储有关的电话号码,也就是具备电话簿功能。
4、有关于网络方面的数据,用户在用卡过程中自动存入和更新的网络接续和用户信息类数据,包括最近一次位置登记时手机所在位置识别号、设置的周期性位置更新间隔时间、临时移动用户号等。不过这种数据的存放是暂时性的,并不是永久的存放于SIM卡之中。
5、相关的业务代码,就是非常重要的个人识别码(PIN码),还有就是解开锁定用的解锁码(PUK)等等。
以上五种类型的数据都是存储在SIM卡当中的,而我们通常也是可以利用这些数据来进行手机的设置,每张SIM卡个人密码(PIN)都是可以由用户设置,利用加密的功能可以实现防止手机被其它人所盗用甚至被

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android中获取双SIM卡信息需要使用TelephonyManager类和SubscriptionManager类。 首先,你需要在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.READ_PHONE_STATE" /> ``` 然后,在你的Java代码中,你可以使用以下代码获取双SIM卡信息: ```java // 获取系统的TelephonyManager和SubscriptionManager TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE); // 获取当前活动的SIM卡数量 int activeSimCount = telephonyManager.getActiveModemCount(); // 遍历所有的SIM卡信息 for (int i = 0; i < activeSimCount; i++) { SubscriptionInfo subscriptionInfo = subscriptionManager.getActiveSubscriptionInfoForSimSlotIndex(i); if (subscriptionInfo != null) { // 获取SIM卡的详细信息 int subscriptionId = subscriptionInfo.getSubscriptionId(); String carrierName = subscriptionInfo.getCarrierName().toString(); String countryIso = subscriptionInfo.getCountryIso().toString(); String displayName = subscriptionInfo.getDisplayName().toString(); String iccId = subscriptionInfo.getIccId().toString(); String number = subscriptionInfo.getNumber().toString(); int mcc = subscriptionInfo.getMcc(); int mnc = subscriptionInfo.getMnc(); int simSlotIndex = subscriptionInfo.getSimSlotIndex(); int subscriptionType = subscriptionInfo.getSubscriptionType(); boolean isEmbedded = subscriptionInfo.isEmbedded(); // 在此处处理SIM卡信息 } } ``` 注意:上述代码需要在Android 5.1及以上版本中运行。在Android 5.1以下版本中获取双SIM卡信息的方法与上述代码略有不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值