Android手机中获取手机号码和运营商信息
代码如下:
- package com.pei.activity;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.TextView;
- /**
- * class name:AndroidUtilActivity<BR>
- * class description:show get sim card info activity<BR>
- * PS:注意权限 <BR>
- * Date:2012-3-12<BR>
- * @version 1.00
- * @author CODYY)peijiangping
- */
- public class AndroidUtilActivity extends Activity {
- private Button button_getSIMInfo;
- private TextView number;
- private TextView privoid;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- button_getSIMInfo = (Button) this.findViewById(R.id.getSIMInfo);
- number = (TextView) this.findViewById(R.id.textView1);
- privoid = (TextView) this.findViewById(R.id.textView2);
- button_getSIMInfo.setOnClickListener(new ButtonListener());
- }
- class ButtonListener implements OnClickListener {
- @Override
- public void onClick(View v) {
- if (v == button_getSIMInfo) {
- SIMCardInfo siminfo = new SIMCardInfo(AndroidUtilActivity.this);
- System.out.println(siminfo.getProvidersName());
- System.out.println(siminfo.getNativePhoneNumber());
- number.setText(siminfo.getNativePhoneNumber());
- privoid.setText(siminfo.getProvidersName());
- }
- }
- }
- }
- package com.pei.activity;
- import android.content.Context;
- import android.telephony.TelephonyManager;
- /**
- * class name:SIMCardInfo<BR>
- * class description:读取Sim卡信息<BR>
- * PS: 必须在加入各种权限 <BR>
- * Date:2012-3-12<BR>
- *
- * @version 1.00
- * @author CODYY)peijiangping
- */
- public class SIMCardInfo {
- /**
- * TelephonyManager提供设备上获取通讯服务信息的入口。 应用程序可以使用这个类方法确定的电信服务商和国家 以及某些类型的用户访问信息。
- * 应用程序也可以注册一个监听器到电话收状态的变化。不需要直接实例化这个类
- * 使用Context.getSystemService(Context.TELEPHONY_SERVICE)来获取这个类的实例。
- */
- private TelephonyManager telephonyManager;
- /**
- * 国际移动用户识别码
- */
- private String IMSI;
- public SIMCardInfo(Context context) {
- telephonyManager = (TelephonyManager) context
- .getSystemService(Context.TELEPHONY_SERVICE);
- }
- /**
- * Role:获取当前设置的电话号码
- * <BR>Date:2012-3-12
- * <BR>@author CODYY)peijiangping
- */
- public String getNativePhoneNumber() {
- String NativePhoneNumber=null;
- NativePhoneNumber=telephonyManager.getLine1Number();
- return NativePhoneNumber;
- }
- /**
- * Role:Telecom service providers获取手机服务商信息 <BR>
- * 需要加入权限<uses-permission
- * android:name="android.permission.READ_PHONE_STATE"/> <BR>
- * Date:2012-3-12 <BR>
- *
- * @author CODYY)peijiangping
- */
- public String getProvidersName() {
- String ProvidersName = null;
- // 返回唯一的用户ID;就是这张卡的编号神马的
- IMSI = telephonyManager.getSubscriberId();
- // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
- System.out.println(IMSI);
- if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
- ProvidersName = "中国移动";
- } else if (IMSI.startsWith("46001")) {
- ProvidersName = "中国联通";
- } else if (IMSI.startsWith("46003")) {
- ProvidersName = "中国电信";
- }
- return ProvidersName;
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" android:gravity="center">
- <TextView
- android:id="@+id/textView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="TextView" />
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="TextView" />
- <Button
- android:id="@+id/getSIMInfo"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="获取手机号码等信息" />
- </LinearLayout>
图片如下:

Android手机中获取手机号码和运营商信息的更多相关文章
- ios如何获取手机的网络状态和运营商名称
本文转载至 http://blog.csdn.net/justinjing0612/article/details/38313747 以前获取手机的网络状态和运营商名称都是似有API, 现在我们可以大 ...
- iOS:关于获取网络类型和运营商信息
目录 1. 获取运营商网络类型 2. 获取运营商信息 返回目录 1. 获取运营商网络类型 Apple的Reachability Sample看起来不错,但是只可以判断是否连接到互联网和是否连接Wifi ...
- Android开发之获取系统所有进程信息。
最近在做一个app,有一个进程管理模块用于管理系统中正在运行的进程,并且可以关闭进程进行加速手机的功能,基本把它实现了出来.界面的效果都是自己写的,虽然有BUG,但是基本上能满足需求,后期我会改进BU ...
- .Net中获取打印机的相关信息
原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. Printe ...
- Android 手机上获取手机当前上网IP地址
[转] 原文 Android 手机上获取手机当前上网IP地址 (手机网关给手机号分配的IP) 每个手机上网通过移动网关的时候,网关都会给该手 ...
- 将文件从已Root Android手机中copy出来的几个cmd窗口命令
将文件从已Root Android手机中copy出来的几个cmd窗口命令: 以shell身份登录adbadb shell进入adb后切换至root用户su更改文件的所属chown shell *更改文 ...
- 从Android手机中取出已安装的app包,导出apk
从Android手机中取出已安装的app包,导出apk TAG:Android,提取,apk,adb,pm,root,导出apk 假设有这样一个场景,A君看到你手机上一个实用APP,想要安装到自己手机 ...
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManag ...
- 调用手机在线API获取手机号码归属地信息
手机在线(www.showji.com)始创于2001年,发展至今已拥有国内最准确.号段容量最大的手机号码归属地数据库系统, 目前号段容量将近33万条,每月保持两次以上规模数据更新,合作伙伴包括:百度 ...
随机推荐
- memcpy与memmove区别
头文件:#include <string.h> memmove() 用来复制内存内容,其原型为: void * memmove(void *dest, const void *src ...
- UVa 10900 (连续概率、递推) So you want to be a 2n-aire?
题意: 初始奖金为1块钱,有n个问题,连续回答对i个问题后,奖金变为2i元. 回答对每道题的概率在t~1之间均匀分布. 听到问题后有两个选择: 放弃回答,拿走已得到的奖金 回答问题: 如果回答正确,奖 ...
- Self-Paced Training (2) - Docker Fundamentals
Agenda- Building Images Dockerfile Managing Images and Containers Distributing Images on Docker Hub ...
- [信息OJ 2467] Asakura的难题
2467: G Asakura的难题 Time Limit:2000MS Memory Limit:65536KB Description Asakura是班里有名的捣蛋鬼,所以经常有同学到老师那里 ...
- 探秘Java虚拟机——内存管理与垃圾回收
本文主要是基于Sun JDK 1.6 Garbage Collector(作者:毕玄)的整理与总结,原文请读者在网上搜索. 1.Java虚拟机运行时的数据区 2.常用的内存区域调节参数 -Xms:初始 ...
- 【转】Android项目中编译 C的模块
原文网址:http://blog.csdn.net/Harrison_zhu/article/details/4057738 Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才 ...
- Asp.Net MVC 模型(使用Entity Framework创建模型类) - Part.1
这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...
- order by优化--Order By实现原理分析和Filesort优化
在MySQL中的ORDER BY有两种排序实现方式: 1.利用有序索引获取有序数据 2.文件排序 在使用explain分析查询的时候,利用有序索引获取有序数据显示Using index.而文件排序显示 ...
- UPC OJ 一道水题 STL
Problem C: 字符串游戏 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 10 Solved: 3 [Submit][Status][Web ...
- 【Java基础】Java网络编程基础知识
什么是网络编程 网络编程是通过使用套接字来达到进程间通信目的,那什么是套接字呢?其实套接字是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的 ...