4

キャリア名を取得しようとしています。

使用しようとしているときの問題:

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

あなたがMVNOでない限り、それはうまく機能しています(ここでの定義:http://en.wikipedia.org/wiki/Mobile_virtual_network_operator

たとえば、ベルギーには、トレド、Allo RTL、モバイルバイキングなどのMVNOにネットワークをレンタルする「ベース」キャリアがあります。

私の通知バーでは、そのような仮想演算子を使用すると、実際の名前が表示されますが、上記のコードでは、「Base」が文字列として表示され、必要なものではありません。

私の言いたいことをご理解いただければ幸いです。

4

1 に答える 1

5

私はMVNOSIMカードを持っていませんが、そのgetSimOperatorName()方法はTelephonyManagerあなたが探している方法かもしれません。

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

ドイツにMVNESIMカードがあり、メソッドは空の文字列をgetNetworkOperatorName()返しますが、メソッドはSIMカードに適切な演算子を返します。

于 2011-11-08T08:56:16.657 に答える