2011年5月21日 星期六

識別 3G 網路服務提供商

不知這是不是台灣的怪現像還是其他國家也有一樣的狀況…
Android 除了官方的 Market 之外…還有各電信商獨自的市集…
例如中華電信的 Hami 或遠傳電信的 S 市集等…

有時產品若與某家電信公司合作,除了放在該電信商的市集外…
還必須將 App 放在 Google 官方 Market 提供沒裝該市集 App 的用戶下載…
識別該用戶使用的 SIM 卡是否為該電信商就很重要嘍…
以下簡單示範如何識別用戶是否使用中華電信的 3G 網路…


import android.telephony.TelephonyManager;

public boolean isCHTOperator()
{
final String OPERATOR_CHT_LDM = "46611";
final String OPERATOR_CHT = "46692";

if(!(使用 3G 網路連線))
{
return false;
}

final String simOptr = getSimOperator();
return (simOptr != null && (simOptr.equals(OPERATOR_CHT) || simOptr.equals(OPERATOR_CHT_LDM)));
}

private String getSimOperator()
{
final TelephonyManager telephonyManager = getTelephonyManager();
if(telephonyManager == null || (telephonyManager.getSimState() != TelephonyManager.SIM_STATE_READY))
{
return null;
}
return telephonyManager.getSimOperator();
}


在上方有看到兩組數字皆代表中華電信…若要識別其他電信商可以自行參照下表…

46601:遠傳電信
46611 or 46692:中華電信
46688:和信電訊
46689:威寶電信
46693:東信電訊
46697:台灣大哥大
46699:泛亞電信

沒有留言:

張貼留言