6

これは質問hereの拡張です。今私はCommonsWareを引用します

デバイスの携帯電話番号をプログラムで取得する信頼できる方法はありません。残っている唯一のオプションは、ユーザーに電話番号を入力させることです。

私の質問は、ユーザーが入力した電話番号が、今は考えられないこれらの可能性とその他の可能性に対して正しいかどうかを確認する方法です:

  1. ユーザーが入力した番号は、アプリがダウンロードされた同じデバイスのものです。
  2. ユーザーが番号を入力する際に​​タイプミスを犯していない
  3. ユーザーは先頭の 0 などの市内通話コードを入力しませんでした

私は StackOverflow と Web に十分な時間を費やしてきましたが、これは重複した質問ではありません。

助け、手がかり、または提案をいただければ幸いです。

4

3 に答える 3

1

ユーザーのお金を使う可能性がある場合は、自分自身 (ユーザーが入力した番号) に SMS を送信し、それが到着するかどうかを確認できます。

もしそうなら、その数は正しいです。そうでない場合... ネットワークがないか、番号が正しくありません。

携帯電話事業者との私の経験によると、電話に番号の可視性があるとは思いません。彼らの側でのみ、その可視性があります。

于 2012-05-08T15:46:50.420 に答える
1

1.ユーザーが入力した番号は、アプリがダウンロードされた同じデバイスのものです。

繰り返しますが、これはテストが不可能なものです。そうでなければ、@neteinstein によって言及されたトリッキーな方法です


2.ユーザーが番号を入力する際に​​タイプミスを犯していない

3.ユーザーは先頭の 0 などの市内通話コードを入力しませんでした

世界のすべての国/地域の電話番号を解析/フォーマット/検証するために使用される、Google によるこのライブラリをまだ認識していないと思います。

それを使用して、他の2つのソリューションを達成できます。


リンク : http://code.google.com/p/libphonenumber/

于 2012-05-09T07:40:05.457 に答える
0

nr1 についてはわかりませんが、問題 nr2 と 3 は、文字列である間に数値を分析することで、非常に簡単に解決できると思います。そうすれば、含まれている文字と、これらの文字がどの位置にあるかを簡単に確認できます。これが役立つことを願っています。

ごきげんよう、ウォッタ

于 2012-05-08T07:23:26.177 に答える