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

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

73191 次浏览

Never used it myself, but take a look at TelephonyManager->getNetworkOperatorName().

You could try something as simple as this:

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

In case one needs the Carrier name of the Operator as shown on the Notifications bar as @Waza_Be asked. One could use the getSimOperatorName method instead, as several Telcos sublease their Network to other companies.

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

A Kotlin null safe implementation:

val operatorName = (context.getSystemService(Context.TELEPHONY_SERVICE) as? TelephonyManager)?.networkOperatorName ?: "unknown"

You could try something LIKE THIS - Latest Working and improved code

IN JAVA

String getCarrierName() {
try {
TelephonyManager manager = (TelephonyManager) OneSignal.appContext.getSystemService(Context.TELEPHONY_SERVICE);
// May throw even though it's not in noted in the Android docs.
// Issue #427
String carrierName = manager.getNetworkOperatorName();
return "".equals(carrierName) ? null : carrierName;
} catch(Throwable t) {
t.printStackTrace();
return null;
}
}

IN KOTLIN

 fun getCarrierName(): String? {
return try {
val manager =
App.instance.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
// May throw even though it's not in noted in the Android docs.
// Issue #427
val carrierName = manager.networkOperatorName
if ("" == carrierName) null else carrierName
} catch (t: Throwable) {
t.printStackTrace()
null
}
}