-1

Android (2.1+) 用のアプリを作成しています。現在の電話の電話番号を使用したいと考えています。多くのグーグルが私に次のことをもたらしました:

String number=(TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE).getLine1Number();

それと許可: READ_PHONE_STATE。

しかし、私の問題は null を返すことです。検索中に、この質問が以前に何度も出されていることに気付きました。これらの質問のほとんどすべてで、番号が常に利用できるとは限らないと言われています。

テスト中に、自分の電話でnullになることがわかりました。しかし、別のアプリ (たとえば、WhatsApp ) は私の電話番号を認識できました)。

それで、彼らはどうやってそれをしたのだろうか?

4

2 に答える 2

0

さて、電話番号を取得する別の方法を思いつきました (私の場合、これは絶対に必要な方法です)。

  1. アプリはサーバーに接続する必要があります。
  2. サーバーは、アプリに一意の ID と電話番号を提供します。
  3. アプリは、一意の ID を持つ電話番号にテキスト メッセージを送信します。
  4. サーバー (SMS ゲートウェイでテキスト メッセージを解釈できるようにする必要があることは言及しましたか?) は、テキスト メッセージを送信した番号とアプリに属する​​ ID を確認します。これはデータベースに保存されます。
  5. これで、識別子を使用して番号を取得する手段が得られました。

それが基本的な考え方です。

于 2012-06-07T06:36:54.133 に答える