我有一个应用程序,该应用程序试图确定各个位置的移动网络的质量,然后将其与手机上正在使用的网络相关联。

要获取移动运营商,我正在使用

TelephonyManager manager = (TelephonyManager)mContext.getSystemService(
  Context.TELEPHONY_SERVICE);
String carrierName = manager.getNetworkOperatorName();


这通常可以正常工作,但是在某些情况下,我得到的结果是“ Fi Network”。由于Google Fi在美国的T-Mobile,Sprint和US Celluar之间切换,因此我想知道使用了哪个实际运营商,因此我可以用它来确定网络的质量。

是否有任何API可以告诉我手机实际使用了哪些运营商?

最佳答案

TelephonyManager.getSimOperator()将返回MCC & MNC代码,该代码应唯一标识运营商,您可以轻松地在线找到将MCC + MNC映射到运营商名称的列表。

07-26 02:15