Android获取手机号码及运营商

public class PhoneSIMCInfo {

/**手机管理工具类*/

private TelephonyManager telephonyManager;

/**国际移动用户识别码*/

private String mImsi;

public PhoneSIMCInfo(Context context) {

telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

}

/**获取手机号: 有些手机号无法获取,是因为运营商在SIM中没有写入手机号*/

public String getNativePhoneNumber() {

return telephonyManager.getLine1Number();

}

/**获取手机号码所属公司信息*/

public String getProviderCompanyName() {

String mName = null;

/**获取国际移动用户识别码(IMSI)*/

mImsi = telephonyManager.getSubscriberId();

try

{

mImsi = telephonyManager.getSubscriberId();

if (mImsi.startsWith("46000"))  {

mName = "中国移动";

}else if (mImsi.startsWith("46002"))  {

mName = "中国移动";

}else  if (mImsi.startsWith("46001")) {

mName = "中国联通";

}else if (mImsi.startsWith("46003"))

mName = "中国电信";

}

catch (Exception exception)

{

exception.printStackTrace();

}

return mName;

}

}

-----------附带其它相关信息获取------------------------------

TelephonyManager telephonyManager =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

/**手机串号:GSM手机的 IMEI 和 CDMA手机的 MEID.*/

String deviceID =telephonyManager.getDeviceId();

/**获取手机SIM卡的序列号*/

String imei =telephonyManager.getSimSerialNumber();

/**电话方位*/

CellLocation str =telephonyManager.getCellLocation();

/**取得和语音邮件相关的标签,即为识别符*/

String voiceMail =telephonyManager.getVoiceMailAlphaTag();

/**获取语音邮件号码*/

String voiceMailNumber =telephonyManager.getVoiceMailNumber();

/**获取ISO国家码,相当于提供SIM卡的国家码*/

String simCountryIso =telephonyManager.getSimCountryIso();

时间: 2024-08-29 15:48:59

Android获取手机号码及运营商的相关文章

android 获取sim卡运营商信息(转)

TelephonyManager tm = (TelephonyManager)Context.getSystemService(Context.TELEPHONY_SERVICE); 注意:一些电话信息需要相应的权限. // 获取服务提供商名字,比如电信,联通,移动用下面的方法第一种方法: 获取手机的IMSI码,并判断是中国移动\中国联通\中国电信 getSimOperatorName() //Returns the Service Provider Name (SPN). IMSI 国际移动

android判断手机号的运营商

TextView tv=(TextView)findViewById(R.id.tv); TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); // 获取SIM卡的IMSI码 String imsi = telManager.getSubscriberId(); //半段IMIS中的MNC if(imsi!=null){ if(imsi.startsWith("4

赵雅智_android获取本机运营商,手机号部分能获取

手机号码不是全部的都能获取.仅仅是有一部分能够拿到. 这个是因为移动运营商没有把手机号码的数据写入到sim卡中.SIM卡仅仅有唯一的编号.供网络与设备 识别那就是IMSI号码,手机的信号也能够说是通过这个号码在网络中传递的,并非手机号码. 试想.你的SIM丢失后,补办一张新的会换号码吗? 是不会 的.就是由于在你的手机号码相应的IMSI号 在移动运营商中被改动成新SIM卡的IMSI号码. 那么手机号为什么有的就能显示呢? 这个就像是一个变量,当移动运营商为它赋值了,它自然就会有值.不赋值自然为空

android:获取手机号码和姓名实现通讯录

首先是运行结果 由于通讯录在手机里是以数据库贮存的 所以我们可以通过一个方法 context.getContentResolver().query(Phone.CONTENT_URI, null, null, null, null); 来获得通讯录 ,这个方法返回一个游标的数据类型,通过moveToNext()方法来获取所有的手机号码信息 当然读取手机通讯录需要权限 在adnroidManifest文件中声明即可 由于我也实现了打电话的功能 所以也要声明权限 <uses-permission a

Android 获取手机SIM卡运营商

直接上代码: /** * 获取SIM卡运营商 * * @param context * @return */ public static String getOperators(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String operator = null; String IMSI = tm.getSub

Android 5.0 Default SMS App以及运营商授权SMS App

题外话:博友们有没有好用的写博客客户端推荐啊,cnblogs推荐的windows live writer和word都试过,都不是很好用啊,本地看着还可以,但发布出来排版就不是那么好看了. 正题: Android中短信的接收是这样的一个过程: 底层先将短信报给FW,FW处理过后,会将短信通过intent广播的形式广播出来,而注册了接收短信广播的APP们,就能收到并处理短信. Default SMS App 而android在4.2开始,对操作SMS的app进行了限制,增加了default sms

Android 获取运营商信息(完整版)-解决高通,MTK等双卡问题

由于国内的运营商问题,双卡手机获取IMSI号问题要根据厂商API 来实现. 下面我们就来做一套完整的分析运营商获取IMSI号逻辑. 1,首先我们要判断手机的平台. 1.1,判断手机是否MTK平台 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 public static M

Android获取运营商信息

项目上要求做三网外放产品,将三个单网SDK自行整合成三网联合,思路大概是在OnCreate时区分运营商 设定枚举,根据取到的sim卡信息赋予枚举变量,后面三网的一些操作根据枚举进行判定 先设定运营商枚举 enum CARRIEROPERATOR { NONE(0), MM(1), UNIPAY(2), EGAME(3); private int value; private CARRIEROPERATOR(int i) { this.value=i; } public int getValue(

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

加入权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 1 package com.example.textphone; 2 3 import android.content.Context; 4 import android.telephony.TelephonyManager; 5 6 public class SIMCardInfo { 7 /** 8 * Telephon