1

まず、MSISDNは電話番号と同じです。私は、可能であれば、Andoid電話から電話番号を取得できるかどうかを調べています。

私の研究の結果はイエスとノーでした。

TelephonyManagergetLine1Number()を使用して可能です。ただし、これは信頼できません。

上記をMotorolaAtrixでテストしましたが、有効な電話番号が取得されません。だから水で死んだよね?

TelephonyManagergetVoiceMailNumber()を使用して、電話から電話番号を取得することができました。

ボイスメール番号が実際の電話番号(MSISDN)になるとは思いもしませんでした。

だから私の質問は、getLine1Number()またはgetVoiceMailNumber( )のいずれかをチェックすることがMSISDNを取得するための信頼できる方法であるということです。(つまり、getLine1Numberが0000000000000を返す場合は、getVoiceMailNumberなどを確認してください。)

getVoiceMailNumber()からMSISDNを取得できるようになる前に、このWebサイトの誰も言及していません。これは明らかに明らかではなく、ドキュメントとほとんど矛盾していますが、実際には、私の特定のデバイスで機能します。(他のデバイスではテストされていません)

4

3 に答える 3

3

getVoiceMailNumber() を使用する場合、100% 信頼できるわけではありません。多くの場合、これで電話番号がわかる場合がありますが、ハンドセットがファームウェア アップデートを取得し、この番号が別の番号に変更された場合はどうなるでしょうか。ショートコードを言う?いいえ、信頼できません。

getLine1Number() から番号を取得できる場合、ユーザーに番号の入力を求めないのはなぜですか? その番号にショート コードを含む SMS メッセージを送信することで確認できます。ユーザーは、先に進む前にアプリに入力する必要があります。

于 2011-10-27T21:44:30.990 に答える
2

これは古い質問です。ただし、将来人々に役立つ可能性のある情報を共有したいと思います。

getLine1Number()GSM 電話の MSISDN など、回線 1 の電話番号文字列を返します。利用できない場合は null を返します。

MSISDN は電話番号です。ただし、MSISDN は SIMCard 内のファイルに保存されます。主な問題は、そのファイルに入力することが必須ではないことです。そのため、MSISDN を含む simcard がいくつかありますが、他の simcard にはその情報がありません。

したがって、MSISDN は完全に信頼できないものです。

getVoiceMailNumber()ボイスメール番号を返します。利用できない場合は null を返します。

この数値は通信事業者によって異なるため、これも信頼できません。一部の通信事業者は、自分の電話番号をボイスメールとして使用しています。ただし、他の一部の通信事業者は、*55 などの別の番号を使用しています。

そのため、自分の電話番号を特定することは非常に困難です。そのため、電話番号の使用は避けてください。

于 2016-08-03T03:13:29.347 に答える
1

それを通過する別の方法は、ユーザーに自分の番号を入力させることです。次に、入力したこの番号にSMSを送信します。

このメッセージが受信されたことを検証すると、ユーザーが正しいMSISDNを入力したことを明確に示すことができ、これを保存します。

シンプル:)

于 2012-05-03T11:23:30.707 に答える