デュアルSIM電話getLine1Number()
での返品方法はどのようなものですか?TelephonyManager
LG Optimus Net Dual
3 に答える
返される番号は1つだけです...多分!
まず、返される番号はデバイスによって異なります。
しかし、同様に重要なのは、番号を取得するかどうか、そしてこの番号が電話番号になるかどうかは、完全に予測できないことです。これはSIMとオペレーターに依存します。
私のアプリの1つでは、ユーザーがこの番号を簡単に思い出せると期待できるため、電話番号を一意のIDとして使用することから始めました。アジア、オーストラリア、およびヨーロッパの一部のオペレーターの場合、電話番号(line1number())はSIMに保存されません。他の人と一緒に、あなたはゼロの文字列を得るかもしれません。または、ローカルでは意味があるが、アプリのロジックを台無しにする可能性のある方法でフォーマットされた数値。
AndroidはデュアルSIMデバイスをサポートしていません。参照:デュアルSIMAndroidフォンで2枚のSIMカードのステータスを検出する
他の誰かが言ったように、あなたはデバイスメーカーからサポートを受けるかもしれません。
さらに、getLine1Number()は電話番号を返すことが保証されていません。オペレーターがカードに保存しているものを返すだけで、一部のオペレーターはわざわざその番号を入力しません。したがって、一部のsimカードでは、これはnullを返すだけです。
あなたが達成しようとしていることの詳細を提供すれば、私たちはより良い解決策を提供できるかもしれません。
デフォルトのSDKは、デュアルSIM電話の処理をサポートしていません。この関数は、おそらく最初のアクティブなSIMカードから1つの番号のみを返します。
ただし、メーカーがこれらを処理するためのSDKを提供することがあるので、これを確認することをお勧めします。