Как узнать имя перевозчика при использовании MVNO? (я хочу тот, который написан в панели уведомлений)

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

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

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 ответ

Решение

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

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

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

Другие вопросы по тегам