デュアルSIMのAndroidスマホを持っています。このソリューションを使用して、両方のシムの IMEI 番号を取得します。
IMEI 番号から各 SIM の電話番号を調べるにはどうすればよいですか?
方法はいくつかあり、IMEI番号getDeviceIdGemini(int slotId)
やgetSimStateGemini(int slotId)
各シムの状態を知ることが可能です。
シムの電話番号を読み取るための同様の方法を探しています。
基本的な答え - 現在の電話番号を取得する方法はありません。時々機能するものがありますが、常にではなく、すべてのキャリアで機能するわけではありません.
リフレクションを使用して、 のメソッドを調べたところ、次のメソッドがTelephonyManager
見つかりましたint getLine1NumberGemini(int)
。
私はそれを呼び出そうとしました(getLine1NumberGemini(0)
最初のシムとgetLine1NumberGemini(1)
2番目のシム用)。どちらの場合も、空の文字列を受け取りました。
しかし、これの理由は、電話が私のシムの電話番号を取得できないことが原因のようです:
TelephonyManager.getLine1Number()
空の文字列も返します。