Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android獲取運營商信息

Android獲取運營商信息

編輯:關於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;
			}
		}

文章原創,轉載請注明

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved