1. import android.content.Context;
  2. import android.telephony.TelephonyManager;
  3. import android.util.Log;
  4.  
  5. public class SIMCardInfo {
  6. /**
  7. * TelephonyManager提供设备上获取通讯服务信息的入口。 应用程序可以使用这个类方法确定的电信服务商和国家 以及某些类型的用户访问信息。
  8. * 应用程序也可以注册一个监听器到电话收状态的变化。不需要直接实例化这个类
  9. * 使用Context.getSystemService(Context.TELEPHONY_SERVICE)来获取这个类的实例。
  10. */
  11. private TelephonyManager telephonyManager;
  12. /**
  13. * 国际移动用户识别码
  14. */
  15. private String IMSI;
  16.  
  17. public SIMCardInfo(Context context) {
  18. telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
  19. }
  20.  
  21. /**
  22. * Role:获取当前设置的电话号码 <BR>
  23. */
  24. public String getNativePhoneNumber() {
  25. String NativePhoneNumber = null;
  26. NativePhoneNumber = telephonyManager.getLine1Number();
  27. return telephonyManager.getLine1Number();
  28. }
  29.  
  30. /**
  31. * Role:Telecom service providers获取手机服务商信息 <BR>
  32. * 需要加入权限<uses-permission
  33. * android:name="android.permission.READ_PHONE_STATE"/> <BR>
  34. *
  35. */
  36. public String getProvidersName() {
  37. String ProvidersName = null;
  38. // 返回唯一的用户ID;就是这张卡的编号神马的
  39. IMSI = telephonyManager.getSubscriberId();
  40. // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
  41. // Log.i("tag",IMSI);
  42. if(IMSI == null || "".equals(IMSI)){
  43. ProvidersName = "获取手机号码失败";
  44. }else
  45. if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
  46. ProvidersName = "中国移动";
  47. } else if (IMSI.startsWith("46001")) {
  48. ProvidersName = "中国联通";
  49. } else if (IMSI.startsWith("46003")) {
  50. ProvidersName = "中国电信";
  51. }
  52. return ProvidersName;
  53. }
  54.  
  55. }

Android获取本机号码及运营商的更多相关文章

  1. android 获取本机号码需要root吗?

    首先要明白,有的手机是获取不到自身的手机号的, 查了些资料,有以下两种方式可以获取到:      1. 通过对方给你发短信,打电话获取本机号码:       2. 还有一个就是通过APN来查询,但是这 ...

  2. 【转】Android 获取本机号码(收集)

    SIM卡存储的数据可分为四类: 第一类是固定存放的数据.这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI).鉴权密钥(KI).鉴权和加密算法等等. 第二类是暂时存放的 ...

  3. 【Android】如何获取本机号码、IMSI、EMSI

    获取本机号码: 获取本机号码,需要在配置文件中加入权限: <uses-permission android:name="android.permission.READ_PHONE_ST ...

  4. android 获取本机SMI卡号码

    //获取手机号码 TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); S ...

  5. 【工具类】获取手机sim卡的运营商

    加入权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" /> package ...

  6. android获取本机的IP地址和mac物理地址

    /获取本机IP地址 public String getLocalIpAddress() { WifiManager wifiManager = (WifiManager) getSystemServi ...

  7. Android 获取本机WIFI及3G网络IP

    获取本机WIFIprivate String getLocalIpAddress() { WifiManager wifiManager = (WifiManager) getSystemServic ...

  8. Android获取本机IP地址

    一.概述 习惯了Linux下的网络编程,在还没用智能机之前就一直想知道怎么得到手机的IP地址(玩智能机之前我是不搞手机应用的).好了,得知Android是基于Linux内核的,那么不就可以利用之前学的 ...

  9. Android 获取联系人的号码的类型描述

    ...... int index = phonesCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER); int t ...

随机推荐

  1. python matplotlib 库学习

    基本使用 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-1,1,50) y = 2*x+1 plt.figur ...

  2. js/java常用正则表达式及写法

    不定时增加正则表达式. 其中 Js验证写法: var str = "待验证文本"; var regular = new RegExp(/^这里是正则表达式/); if (regul ...

  3. 068、Calico的网络结构是什么?(2019-04-11 周四)

    参考https://www.cnblogs.com/CloudMan6/p/7520164.html     root@host1:~# docker run -itd --name bbox1 -- ...

  4. C# "XXX.XmlSerializers”的程序集未能加载到..

    解决办法,进入Debug目录, 1.如果X86平台 sgen xxx.exe /c:"/platform:x86" 2.不考虑平台 sgen xxx.exe 3.生成前事件命令行, ...

  5. 路由器数据统计SQL脚本

    一.路由器部分 //[饼图]统计路由器在线.离线数量 SELECT COUNT(*) AS total, MINUTE)) ELSE NULL END) AS livecount, MINUTE)) ...

  6. Fetch诞生记

    Fetch作用? https://developer.mozilla.org/zh-CN/docs/Web/API/Fetch_API/Using_Fetch Fetch API  提供了一个 Jav ...

  7. 「NowCoder Contest 295」H. Playing games

    还是见的题太少了 「NowCoder Contest 295」H. Playing games 题意:选出尽量多的数使得异或和为$ 0$ $ Solution:$ 问题等价于选出尽量少的数使得异或和为 ...

  8. Leetcode#867. Transpose Matrix(转置矩阵)

    题目描述 给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引. 示例 1: 输入:[[1,2,3],[4,5,6],[7,8,9]] 输出:[[1 ...

  9. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException or 程序包 javax.servlet 不存在

    遇到下面这个问题 程序包 javax.servlet 不存在 或者 java.util.concurrent.ExecutionException: org.apache.catalina.Lifec ...

  10. no plugin found for prefix 'tomcat 7' in the current project

    使用maven build编译出错 “no plugin found for prefix 'tomcat 7' in the current project..........” 参照下面方法 ht ...