Cómo averiguar el nombre del operador en Android

78

¿Cómo puedo averiguar el nombre del operador en Android?

fhucho
fuente

Respuestas:

132

Nunca lo usé yo mismo, pero eche un vistazo a TelephonyManager-> getNetworkOperatorName () .

Podrías probar algo tan simple como esto:

TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
String carrierName = manager.getNetworkOperatorName();
pableu
fuente
1
TelephonyManager telephonyManager = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE);
Alguien en algún lugar
1
El problema es que la cadena resultante no es el operador escrito en la barra de notificaciones. Por ejemplo, no se muestran los MVNO.
Waza_Be
1
¿Requiere esto un permiso específico?
AlikElzin-kilaka
4
@pableu si estoy usando medios móviles de doble SIM, ¿cómo puedo obtener el nombre de ambos operadores?
Karthikeyan Ve
1
@ AlikElzin-kilaka hay un método manager.getSimOperatorName (). Devuelve el mismo resultado en una situación normal. pero puede (y puede que no, nunca lo probé) devolver un resultado diferente en roaming. Si te preocupa la itinerancia, es peor intentarlo.
Alireza A. Ahmadi
25
TelephonyManager telephonyManager = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE));
String operatorName = telephonyManager.getNetworkOperatorName();
fhucho
fuente
¿Cómo detectar un operador a partir de un número de teléfono de 10 dígitos?
Pankaj Nimgade
No funcionará para mí en Brasil, viene vacío. Solo el "getSimOperatorName ()" -> "Claro BR"
meszias
El nombre de la red está disponible si hay una red disponible junto con el usuario que ha seleccionado la SIM para conectarse a Internet. Probé esto en el teléfono Android 7 dual sim y devuelve el nombre solo en la condición anterior. Incluso getSimOperator () se comporta de la misma manera al menos en mi teléfono de prueba.
Ankit
12

En caso de que se necesite el nombre del operador del operador como se muestra en la barra de notificaciones como @Waza_Be preguntó. En su lugar, se podría utilizar el método getSimOperatorName , ya que varias empresas de telecomunicaciones subarrendan su red a otras empresas.

TelephonyManager telephonyManager = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE));
String simOperatorName = telephonyManager.getSimOperatorName();
Velval
fuente
1
devuelve el operador de sim primario fr dual sim .. cómo obtener operaciones para ambos sim
Srishti Roy
2
Hola @SrishtiRoy, parece que lo que necesitas solo es compatible con el nivel de API 22 y superior. Compruebe los comentarios sobre la respuesta aceptada aquí: .
Documentos de