Как узнать имя перевозчика при использовании MVNO? (я хочу тот, который написан в панели уведомлений) - PullRequest
4 голосов
/ 30 октября 2011

Я просто пытаюсь получить имя своего оператора.

Проблема при попытке использовать:

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

Это прекрасно работает, если вы не MVNO (определение здесь: http://en.wikipedia.org/wiki/Mobile_virtual_network_operator)

Например, в Бельгии у нас есть «базовый» оператор, который арендует сеть для некоторых MVNO, таких как Toledo, Allo RTL, мобильные викинги и т. Д. *

В моей панели уведомлений, когда я использую такие виртуальные операторы, я получаю их настоящие имена, но код выше просто дает мне "Base" в качестве String, а не тот, который я хочу.

Надеюсь, вы понимаете, о чем я.

1 Ответ

5 голосов
/ 08 ноября 2011

У меня нет SIM-карты MVNO, но метод getSimOperatorName() из TelephonyManager может быть тем методом, который вы ищете.

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

У меня есть SIM-карта MVNE в Германии, и метод возвращает пустую строку, но метод getNetworkOperatorName() возвращает нужного оператора для моей SIM-карты.

...