1
私のアプリケーションを開発する際に電話番号が必要です。 TelephonyManagerが各デバイスに電話番号を提供していません
TelephonyManager tmgr =(TelephonyManager)getApplicationContext().getSystemService(getApplicationContext().TELEPHONY_SERVICE);
Log.d("Tag", tmgr.getLine1Number());
しかし、私は何とか
getLine1Number()
が機能していない、異なるデバイスでアプリケーションをしようとしたとき:だから、下図のように、私は
TelephonyManager
を使用しました。返品の意味は
NULL
です。
許可は大丈夫です。最後に、getLine1Number()
はの必要条件に依存していますか?可能なのはすべてのデバイスの電話番号を確認してください。
アドバイスありがとうございます。
まず、ガビさんに感謝します。この状態についてもっと詳しく教えていただけますか? –
電話番号がすべてのSIMカードに物理的に格納されていないか、またはネットワークから電話機にブロードキャストされているため、この問題の保証された解決策はありません。これは、物理アドレス検証を必要とする国では特に当てはまります。電話番号の割り当てはネットワーク上で行われ、SIMカードやデバイスを変更することなく変更できます(例:これは移植のサポート方法です)。 私はそれが苦痛であることを知っていますが、最も良い解決策は、ユーザーに電話番号を一度入力して保存するように求めることです。 –
これは質問の回答です。http://stackoverflow.com/questions/2480288/get-phone-number-in-android-sdk –