2013-11-14 188 views
0

我想獲得自己手機的手機號碼,將此部分添加到我的應用程序中。如何在android 4.1.2上獲取手機號碼手機?

我在尋找這個問題,

代碼是在模擬器,但設備顯示空是正確的。

public String getMyPhoneNumber() 
    { 
     return ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) 
       .getLine1Number(); 
    } 

和:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

但它是返回空值。那麼如何獲取電話號碼詳細信息?

回答

0

你的代碼應該被罰款,但你需要的SIM卡插入在手機。另外,正如獨裁者指出,如果該號碼沒有存儲在SIM卡上,你會得到一個空字符串。

編輯:另外,請檢查由Pontus Backlund,那裏有一些很好的信息。

1

您正在使用的方法是SDK中唯一執行此操作的部分,並且只適用於SIM卡上存儲號碼的設備,只有某些運營商可以執行此操作。對於所有其他運營商,您必須要求用戶手動輸入電話號碼,因爲號碼根本不存儲在設備的任何位置,您可以從中檢索該號碼。

-1

進入設置 - >有關設備 - >狀態 - >我的,如果我的電話號碼是未知U不會得到手機號碼..因爲一些移動網絡不會給手機號碼的電話號碼...

如果我的手機號碼有號數u可以通過下面的代碼獲得移動

TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
    phoneNumber = tManager.getLine1Number(); 
1

回答:Programmatically obtain the phone number of the Android phone

「沒有保證的解決了這個問題,因爲電話號碼不是物理存儲上的所有SIM卡片或廣播從網絡到手機。在一些需要物理地址驗證的國家尤其如此,號碼分配僅在事後進行。電話號碼分配發生在網絡上 - 可以在不更改SIM卡或設備的情況下進行更改(例如,這是如何支持移植)。

我知道這是痛苦的,但最有可能的最好的解決辦法就是要求用戶輸入一次他/她的電話號碼和存儲。」