根据GSM/UMTS网络获取国家信息

4
我需要检测GSM/UMTS无线调制解调器当前所在的国家的MCC代码。

你的问题标题可能是错误的,你需要基于GSM网络而不是WIFI。 - Pentium10
2个回答

1
  1. 基于GSM网络

    您需要使用TelephonyManager中的getSimCountryIso()getNetworkCountryIso()

    返回SIM卡提供商国家代码的ISO国家代码等效项。

  2. 基于WIFI,您可以使用IP到国家数据库

  3. 您还可以根据位置使用Geocoder


这个回答与所问的“GSM/UMTS网络”无关。1:sim卡,2:wifi,3:位置。 - brunorey

0

首先获取MCC/MNC:

TelephonyManager tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String networkOperator = tel.getNetworkOperator();

if (networkOperator != null) {
    int mcc = Integer.parseInt(networkOperator.substring(0, 3));
    int mnc = Integer.parseInt(networkOperator.substring(3));
}

然后,基于此,您可以获取与所选MCC对应的数字。互联网上有很多列表,例如维基百科上的这个列表


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接