0

私はこのように私の電話番号を取得しようとします:

private String getMyPhoneNumber(){
        TelephonyManager mTelephonyMgr;
        mTelephonyMgr = (TelephonyManager)
            getSystemService(Context.TELEPHONY_SERVICE); 
        return mTelephonyMgr.getLine1Number();

しかし、私はnullになります

それを修正する方法は?プロバイダー名の取得方法

4

1 に答える 1

2

これは、一部のベンダーが電話番号をSIMに保存していないためです。これは一部の国では問題なく機能します。

ユーザーに電話番号を入力するように依頼することをお勧めします。

getLine1Number()のドキュメントには、番号が「使用不可」の場合、このメソッドはnullを返すと記載されていますが、番号が使用不可になる可能性がある場合は記載されていません。

プロバイダー名を取得するには

アンドロイドドキュメントを見てください。

TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE));
String carrierName = manager.getNetworkOperatorName();
于 2013-03-26T15:04:50.157 に答える