如何在Android中找出承运人的名字


78

如何在Android中找出运营商的名称?

Answers:


132

我自己从未使用过它,而是看一下TelephonyManager-> getNetworkOperatorName()

您可以尝试以下简单的方法:

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

1
TelephonyManager telephonyManager =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
某处某人

1
问题是结果字符串不是在通知栏中写的载体。例如,未显示MVNO。
Waza_Be 2011年

1
这是否需要特定的许可?
2013年

4
@pableu如果我使用的是双SIM卡移动方式,如何获得两个运营商的名称?
Karthikeyan Ve 2015年

1
@ AlikElzin-kilaka有一个manager.getSimOperatorName()方法。正常情况下返回相同的结果。但它可能(而且可能没有,我从未测试过)在漫游时会返回不同的结果。如果您担心漫游,那就试试吧。
Alireza A. Ahmadi 2015年

25
TelephonyManager telephonyManager = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE));
String operatorName = telephonyManager.getNetworkOperatorName();

如何从10位数字的电话号码中识别操作员?
Pankaj Nimgade'3

不会在巴西为我工作,空无一人。只有“ getSimOperatorName()”->“ Claro BR”
meszias

如果存在网络可用并且用户已选择sim卡以连接到Internet,则网络名称可用。在Android 7双卡手机上对此进行了测试,并且仅在上述条件下返回名称。甚至getSimOperator()在测试电话上的行为也至少相同。
Ankit

12

万一需要操作员的运营商名称(如通知栏上所示),则要求@Waza_Be。人们可以改用getSimOperatorName方法,因为一些电信公司将其网络转租给其他公司。

TelephonyManager telephonyManager = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE));
String simOperatorName = telephonyManager.getSimOperatorName();

1
它破坏了双卡双待的主要SIM卡运营商。.如何获得双卡双待
Srishti Roy

2
@SrishtiRoy,您好,看来您所需要的仅在22级及以上的API上受支持。在此处查看对已接受答案的评论。Android文档在这里
velval
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.