码迷,mamicode.com
首页 > 移动开发 > 详细

Android获取运营商信息

时间:2015-02-02 18:13:58      阅读:351      评论:0      收藏:0      [点我收藏+]

标签: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()
	    {
	        return this.value;
	    }
	}
	CARRIEROPERATOR carrierOperator = CARRIEROPERATOR.NONE;



以下是获取sim卡是哪个运营商

	public int getSimOperatorInfo()
	{
		TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
		String operatorString = telephonyManager.getSimOperator();
		
		if(operatorString == null)
		{
			return 0;
		}
		
		if(operatorString.equals("46000") || operatorString.equals("46002"))
		{
			//中国移动
			return 1;
		}
		else if(operatorString.equals("46001"))
		{
			//中国联通
			return 2;
		}
		else if(operatorString.equals("46003"))
		{
			//中国电信
			return 3;
		}
		
		//error
		return 0;
	}

在onCreate函数中调用下面的函数设定运营商

void SetCarrierOperation()
		{
			int simCode = GetSimOperatorInfo();
			switch(simCode)
			{
			case 0:
				carrierOperator = CARRIEROPERATOR.NONE;
				break;
			case 1:
				carrierOperator = CARRIEROPERATOR.MM;
				break;
			case 2:
				carrierOperator = CARRIEROPERATOR.UNIPAY;
				break;
			case 3:
				carrierOperator = CARRIEROPERATOR.EGAME;
				break;
			default:
				Log.e("unity","SetCarrierOperation error");
				break;
			}
		}

文章原创,转载请注明

Android获取运营商信息

标签:android   运营商   

原文地址:http://blog.csdn.net/suifcd/article/details/43409933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!