2013-03-09 417 views
1

我有一張SIM卡,其中android本身顯示爲未知的電話號碼。因此也getLine1Number()返回一個空的string。 但是,WhatsApp能夠完美地讀取我的電話號碼。WhatsApp技術上如何獲取電話號碼?

我想知道它是如何工作的(技術上)。

有沒有人有想法?

+0

您的應用請求READ_PHONE_STATE權限嗎? – Hartok 2013-03-09 14:33:11

+1

是的,否則我會得到一個SecurityException(或類似的)。還有其他的SO問題與這個問題有關 - e。 G。 http://stackoverflow.com/questions/7268452/best-way-to-retrieve-phone-number?rq=1然而,似乎有辦法做到這一點,因爲WhatsApp能夠做到這一點。 – user1120897 2013-03-09 14:38:51

回答

3

它沒有。應用無法獲取電話號碼。 Whatsapp手動請求號碼,並通過短信向您發送驗證碼。

+2

好吧,雖然這是一個合乎邏輯的後備,但我(我的女朋友也不記得要求我的號碼和短信)。我不刪除任何短信,也沒有找到證據。也許WhatsApp攔截此確認消息並立即刪除它。它似乎有適當的權限才能做到這一點。 – user1120897 2013-03-09 14:56:49

+1

我很確定我寫的是什麼。你總是可以嘗試不同的黑客,但這些黑客將不會穩定,並會導致一個不專業的應用程序。如果有些舊版本的whatsapp或android能夠做到這一點,他們不能再做了。 – 2013-03-09 18:25:47

1

解決方案是找到收到的短信中最常用的電話號碼。

WhatsApp有權這樣做。

+1

我試過通過Uri做uriSMSURI = Uri.parse(「content:// sms/inbox」);遊標cur = getContentResolver()。query(uriSMSURI,null,null,null,null); ...但是,它似乎並沒有保存接收方電話號碼;我只能看到發件人電話號碼 – user1120897 2013-03-09 15:13:01

+0

@Hartok是收到的短信中最常用的號碼?我認爲這是一個神祕的答案?因爲在收到的短信中不會是我的號碼其他我的母親,女朋友,朋友的號碼:) – 2014-04-29 16:31:08

2

檢索電話號碼不總是可能的,並且是允許的。 大多數移動運營商在手機中鎖定此功能。

WhatsApp的詢問電話號碼,並將其保存

您可以發送短信到服務器並保存它,如果用戶許可。