最近在看aapt源码的时候了解到资源配置的维度里包含有mcc和mnc这两项,再一翻应用层SDK果然也有对应的配置,那么就可以用另一种相对简单方法来对运营商进行判断了。
int getOperator(Context context) {
Configuration config = getResources().getConfiguration();
int mccmnc = config.mcc * 100 + config.mnc;
switch (mccmnc) {
case 46000:
case 46002:
case 46007:
return 1;//China Mobile
case 46001:
case 46006:
return 2;//China Union
case 46003:
case 46005:
return 3;//China Telecom
default:
return 0;//Unknown
}
}