2013-06-26 77 views
-3

在我的應用我要導入我的手機號碼。我知道手機聯繫人是通過ContactsContract API導入的,但是我可能會要求導入自己的手機號碼,這是顯而易見的,不存在於手機聯繫人詳細信息中。導入自己的手機號碼

+1

SIM卡的電話號碼將可以通過電話API而不是通過ContactsContract API。 –

回答

2

的手機號碼不再是一般可通過電話API。如果您可以在設置中查看正確的電話號碼 - >關於電話 - >狀態,那麼是的,您會看到它。但否則,不。我有幾部運行Android 2.3,4,4.1和4.2的手機,但都沒有顯示與SIM卡關聯的電話號碼。

不具有電話號碼,不應該是一個大難題。我一直在研究短信應用一段時間,並在幾個月前得出結論,我根本不需要知道手機號碼。

如果你需要的手機號碼一個很好的理由,然後使用聯繫人提供商,你可以訪問該設備的聯繫人卡片,其上可能有一個或多個移動電話號碼(或根本就沒有!)。我的建議是使用此路線獲取可用號碼,然後要求用戶選擇一個是手機號碼的號碼,並給他們輸入號碼的機會,如果它是「以上都不是」。

如果你想驗證這個號碼,你可以從手機發送一條短信給自己,或者使用文本信息服務向手機發送一條消息(有點像在創建帳戶時需要確認一個電子郵件地址網站)。

+0

感謝您的快速回復。我會在我的應用程序中嘗試您的建議。 – DJhon

+0

一如往常,在走下這條路線之前要考慮用戶的隱私。你的應用程序需要有一個非常非常好的理由來需要用戶的電話號碼。像這樣的恕我直通信息必須是應用程序的核心 - 否則,應用程序將無法運行,或者會失去本應具有的大部分功能。 – Phil

3
TelephonyManager tMgr 
=(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE); 
mPhoneNumber = tMgr.getLine1Number(); 

但要注意它不能保證你得到它(所以檢查NULL)。

+1

getLine1Number()只保證將得到移動 號碼,如果seted移動設備MSISDN號碼,我們可以從 設置檢查 - >關於手機 - > - > - > MSISDN。 – ryderz8

+0

感謝您的回覆。我真的很高興。 – DJhon