1
我在開發應用程序時需要電話號碼。所以,我用TelephonyManager
,如下圖所示:TelephonyManager不在每臺設備上提供電話號碼
TelephonyManager tmgr =(TelephonyManager)getApplicationContext().getSystemService(getApplicationContext().TELEPHONY_SERVICE);
Log.d("Tag", tmgr.getLine1Number());
但是,當我試圖在不同的設備上的應用程序,不知何故getLine1Number()
不工作。我的意思是回報NULL
。
權限沒問題。最後,getLine1Number()
取決於其他要求?是否有可能在每臺設備上學習電話號碼。
感謝您的建議。
首先,謝謝你gabi。你能給我更多關於這個狀態的細節嗎? – 2012-02-28 15:40:20
由於電話號碼並非物理存儲在所有SIM卡上,或從網絡廣播到手機,因此無法保證解決此問題。在一些需要物理地址驗證的國家尤其如此,號碼分配僅在事後進行。電話號碼分配發生在網絡上 - 可以在不更改SIM卡或設備的情況下進行更改(例如,這是如何支持移植)。 我知道這很痛苦,但最有可能的最佳解決方案就是要求用戶輸入一次他/她的電話號碼並存儲它。 – 2012-02-28 15:43:49
這是一個來自問題的答案http://stackoverflow.com/questions/2480288/get-phone-number-in-android-sdk – 2012-02-28 15:44:19