代码如下:

  1. package com.pei.activity;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.widget.Button;
  7. import android.widget.TextView;
  8. /**
  9. * class name:AndroidUtilActivity<BR>
  10. * class description:show get sim card info activity<BR>
  11. * PS:注意权限 <BR>
  12. * Date:2012-3-12<BR>
  13. * @version 1.00
  14. * @author CODYY)peijiangping
  15. */
  16. public class AndroidUtilActivity extends Activity {
  17. private Button button_getSIMInfo;
  18. private TextView number;
  19. private TextView privoid;
  20. @Override
  21. public void onCreate(Bundle savedInstanceState) {
  22. super.onCreate(savedInstanceState);
  23. setContentView(R.layout.main);
  24. button_getSIMInfo = (Button) this.findViewById(R.id.getSIMInfo);
  25. number = (TextView) this.findViewById(R.id.textView1);
  26. privoid = (TextView) this.findViewById(R.id.textView2);
  27. button_getSIMInfo.setOnClickListener(new ButtonListener());
  28. }
  29. class ButtonListener implements OnClickListener {
  30. @Override
  31. public void onClick(View v) {
  32. if (v == button_getSIMInfo) {
  33. SIMCardInfo siminfo = new SIMCardInfo(AndroidUtilActivity.this);
  34. System.out.println(siminfo.getProvidersName());
  35. System.out.println(siminfo.getNativePhoneNumber());
  36. number.setText(siminfo.getNativePhoneNumber());
  37. privoid.setText(siminfo.getProvidersName());
  38. }
  39. }
  40. }
  41. }
  1. package com.pei.activity;
  2. import android.content.Context;
  3. import android.telephony.TelephonyManager;
  4. /**
  5. * class name:SIMCardInfo<BR>
  6. * class description:读取Sim卡信息<BR>
  7. * PS: 必须在加入各种权限 <BR>
  8. * Date:2012-3-12<BR>
  9. *
  10. * @version 1.00
  11. * @author CODYY)peijiangping
  12. */
  13. public class SIMCardInfo {
  14. /**
  15. * TelephonyManager提供设备上获取通讯服务信息的入口。 应用程序可以使用这个类方法确定的电信服务商和国家 以及某些类型的用户访问信息。
  16. * 应用程序也可以注册一个监听器到电话收状态的变化。不需要直接实例化这个类
  17. * 使用Context.getSystemService(Context.TELEPHONY_SERVICE)来获取这个类的实例。
  18. */
  19. private TelephonyManager telephonyManager;
  20. /**
  21. * 国际移动用户识别码
  22. */
  23. private String IMSI;
  24. public SIMCardInfo(Context context) {
  25. telephonyManager = (TelephonyManager) context
  26. .getSystemService(Context.TELEPHONY_SERVICE);
  27. }
  28. /**
  29. * Role:获取当前设置的电话号码
  30. * <BR>Date:2012-3-12
  31. * <BR>@author CODYY)peijiangping
  32. */
  33. public String getNativePhoneNumber() {
  34. String NativePhoneNumber=null;
  35. NativePhoneNumber=telephonyManager.getLine1Number();
  36. return NativePhoneNumber;
  37. }
  38. /**
  39. * Role:Telecom service providers获取手机服务商信息 <BR>
  40. * 需要加入权限<uses-permission
  41. * android:name="android.permission.READ_PHONE_STATE"/> <BR>
  42. * Date:2012-3-12 <BR>
  43. *
  44. * @author CODYY)peijiangping
  45. */
  46. public String getProvidersName() {
  47. String ProvidersName = null;
  48. // 返回唯一的用户ID;就是这张卡的编号神马的
  49. IMSI = telephonyManager.getSubscriberId();
  50. // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
  51. System.out.println(IMSI);
  52. if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
  53. ProvidersName = "中国移动";
  54. } else if (IMSI.startsWith("46001")) {
  55. ProvidersName = "中国联通";
  56. } else if (IMSI.startsWith("46003")) {
  57. ProvidersName = "中国电信";
  58. }
  59. return ProvidersName;
  60. }
  61. }
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" android:gravity="center">
  6. <TextView
  7. android:id="@+id/textView1"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:text="TextView" />
  11. <TextView
  12. android:id="@+id/textView2"
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:text="TextView" />
  16. <Button
  17. android:id="@+id/getSIMInfo"
  18. android:layout_width="wrap_content"
  19. android:layout_height="wrap_content"
  20. android:text="获取手机号码等信息" />
  21. </LinearLayout>

图片如下:

Android手机中获取手机号码和运营商信息的更多相关文章

  1. ios如何获取手机的网络状态和运营商名称

    本文转载至 http://blog.csdn.net/justinjing0612/article/details/38313747 以前获取手机的网络状态和运营商名称都是似有API, 现在我们可以大 ...

  2. iOS:关于获取网络类型和运营商信息

    目录 1. 获取运营商网络类型 2. 获取运营商信息 返回目录 1. 获取运营商网络类型 Apple的Reachability Sample看起来不错,但是只可以判断是否连接到互联网和是否连接Wifi ...

  3. Android开发之获取系统所有进程信息。

    最近在做一个app,有一个进程管理模块用于管理系统中正在运行的进程,并且可以关闭进程进行加速手机的功能,基本把它实现了出来.界面的效果都是自己写的,虽然有BUG,但是基本上能满足需求,后期我会改进BU ...

  4. .Net中获取打印机的相关信息

    原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. Printe ...

  5. Android 手机上获取手机当前上网IP地址

      [转] 原文              Android 手机上获取手机当前上网IP地址                (手机网关给手机号分配的IP) 每个手机上网通过移动网关的时候,网关都会给该手 ...

  6. 将文件从已Root Android手机中copy出来的几个cmd窗口命令

    将文件从已Root Android手机中copy出来的几个cmd窗口命令: 以shell身份登录adbadb shell进入adb后切换至root用户su更改文件的所属chown shell *更改文 ...

  7. 从Android手机中取出已安装的app包,导出apk

    从Android手机中取出已安装的app包,导出apk TAG:Android,提取,apk,adb,pm,root,导出apk 假设有这样一个场景,A君看到你手机上一个实用APP,想要安装到自己手机 ...

  8. 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)

    众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManag ...

  9. 调用手机在线API获取手机号码归属地信息

    手机在线(www.showji.com)始创于2001年,发展至今已拥有国内最准确.号段容量最大的手机号码归属地数据库系统, 目前号段容量将近33万条,每月保持两次以上规模数据更新,合作伙伴包括:百度 ...

随机推荐

  1. 函数flst_add_last

    /********************************************************************//** Adds a node as the last no ...

  2. amoeba-mysql配置安装(收集整理)

    本文收集整理自: Amoeba搞定mysql主从读写分离 http://blog.chinaunix.net/uid-20639775-id-154600.html Amoeba非常好用的mysql集 ...

  3. 卸载sqlserver数据库参考

    这多半是以前安装过MSSQL,没卸载干净导致的. 解决方法如下: 一.先把MSSQL卸载干净 1.在添加删除程序中把SQL Server卸载 :2.把Microsoft SQL Server文件夹整个 ...

  4. 【转】跟着开涛学SpringMVC

    跟着开涛学SpringMVC 第一章源代码下载 博客分类: 跟开涛学SpringMVC 跟开涛学SpringMVC  源代码请到附件中下载. 其他下载: 跟着开涛学SpringMVC 第一章源代码下载 ...

  5. SQLSERVER2008 18456错误

    转自:http://www.cnblogs.com/496963524-zhangying/articles/2232599.html 百度搜18456错误几乎只能搜到一篇文章,并不是说结果条数,而是 ...

  6. javascript六难题

    1.下面代码的运行效果是什么?为什么? <html> <head> <meta charset="utf-8"> <title>DO ...

  7. Protobuf语言指南

    Protobuf语言指南 l  定义一个消息(message)类型 l  标量值类型 l  Optional 的字段及默认值 l  枚举 l  使用其他消息类型 l  嵌套类型 l  更新一个消息类型 ...

  8. CentOS 7 nfs客户端挂载问题

    配置nfs服务器时,服务器端挂载没有问题,但是客户端挂载时提示:mount.nfs: Connection timed out 解决方法1: 关闭firewalld # systemctl stop ...

  9. Linux 多线程编程--线程退出

    今天分析项目中进程中虚存一直增长问题,运行10个小时虚存涨到121G ,RSS占用为16G 非常恐怖. Valgrind测试无内存泄漏. 内存32G 64bit系统信息如下: Linux线程使用方式是 ...

  10. js基础第六天

    获取节点属性 getAttribute("属性") 获取属性 setAttribute("属性","值"); 设置节点属性 删除某个属性 r ...